본문 바로가기

분류 전체보기59

[백준 1068] 트리(JAVA) https://www.acmicpc.net/problem/1068 1068번: 트리 첫째 줄에 트리의 노드의 개수 N이 주어진다. N은 50보다 작거나 같은 자연수이다. 둘째 줄에는 0번 노드부터 N-1번 노드까지, 각 노드의 부모가 주어진다. 만약 부모가 없다면 (루트) -1이 주어진다. 셋째 줄에는 지울 노드의 번호가 주어진다. www.acmicpc.net import java.util.ArrayList; import java.util.List; import java.util.Scanner; public class Main { static int N; static int[][] nodes; public static void main(String[] args) { Scanner sc=new Scanne.. 2020. 3. 14.
[SWEA 3378] 스타일리쉬 들여쓰기(JAVA) https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWD3nB5q3T0DFAUZ SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 자바에서 배열에 배열 복사는 주소값이 복사되므로, for문으로 일일히 복사하자! package day5; import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.StringT.. 2020. 3. 13.
[백준 9019] DSLR(JAVA) https://www.acmicpc.net/problem/9019 9019번: DSLR 문제 네 개의 명령어 D, S, L, R 을 이용하는 간단한 계산기가 있다. 이 계산기에는 레지스터가 하나 있는데, 이 레지스터에는 0 이상 10,000 미만의 십진수를 저장할 수 있다. 각 명령어는 이 레지스터에 저장된 n을 다음과 같이 변환한다. n의 네 자릿수를 d1, d2, d3, d4라고 하자(즉 n = ((d1 × 10 + d2) × 10 + d3) × 10 + d4라고 하자) D: D 는 n을 두 배로 바꾼다. 결과 값이 9999 보다 큰 경 www.acmicpc.net BFS문제이다. 처음에 숫자가 아닌 문자열로 구현해서 처리하는 방식으로 했더니 시간초과가 났다. 꼭 문자열만 사용해야 하는 경우가 아니면.. 2020. 3. 13.
[백준 15989] 1,2,3 더하기 4(JAVA) https://www.acmicpc.net/problem/15989 15989번: 1, 2, 3 더하기 4 정수 4를 1, 2, 3의 합으로 나타내는 방법은 총 4가지가 있다. 합을 나타낼 때는 수를 1개 이상 사용해야 한다. 합을 이루고 있는 수의 순서만 다른 것은 같은 것으로 친다. 1+1+1+1 2+1+1 (1+1+2, 1+2+1) 2+2 1+3 (3+1) 정수 n이 주어졌을 때, n을 1, 2, 3의 합으로 나타내는 방법의 수를 구하는 프로그램을 작성하시오. www.acmicpc.net import java.util.Scanner; public class Main_bj_15989_123더하기4 { public static void main(String[] args) { Scanner sc= new.. 2020. 3. 13.
[SWEA 7701] 염라대왕의 이름 정렬(JAVA) https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWqU0zh6rssDFARG SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com HashSet을 이용해서 중복을 제거해준 다음, list로 바꿔서 정렬해 주었다. 길이가 같을 때도 정렬을 해줘야 한다. package day4; import java.io.*; import java.util.*; public class Solution_d4_7701_염라대왕의이름정렬 { static int N; static StringBuilder sb; static HashSet hs; publ.. 2020. 3. 12.
[백준 14888] 연산자 끼워넣기(JAVA/C++) https://www.acmicpc.net/problem/14888 14888번: 연산자 끼워넣기 첫째 줄에 수의 개수 N(2 ≤ N ≤ 11)가 주어진다. 둘째 줄에는 A1, A2, ..., AN이 주어진다. (1 ≤ Ai ≤ 100) 셋째 줄에는 합이 N-1인 4개의 정수가 주어지는데, 차례대로 덧셈(+)의 개수, 뺄셈(-)의 개수, 곱셈(×)의 개수, 나눗셈(÷)의 개수이다. www.acmicpc.net 재귀로 값을 계산해서 계속 넘겨주면서 풀면 되는 문제이다. [JAVA] import java.util.Scanner; public class Main { static int N; static long min=Long.MAX_VALUE; static long max=Long.MIN_VALUE; sta.. 2020. 3. 12.
[백준 14889] 스타트와 링크(JAVA/C++) https://www.acmicpc.net/problem/14889 14889번: 스타트와 링크 예제 2의 경우에 (1, 3, 6), (2, 4, 5)로 팀을 나누면 되고, 예제 3의 경우에는 (1, 2, 4, 5), (3, 6, 7, 8)로 팀을 나누면 된다. www.acmicpc.net 조합으로 한 팀을 뽑아서 체크해주는 방식으로 문제를 풀었다.(true면 start팀, false면 link팀) C++로 풀었을 때는 굳이 벡터에 넣어서 계산했는데(7달 전에 푼거다..과거의 나보다 성장했음을 느낄 수 있었음 ㅎㅎ) 바로 값을 계산해서 답을 구하면 된다. [JAVA] import java.util.Arrays; import java.util.Scanner; public class Main { static.. 2020. 3. 12.
[SWEA 1251] 하나로(JAVA/C++) https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV15StKqAQkCFAYD SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 작년 A형 시험에 MST문제가 나와서 된통 당하고, 풀어봤던 문제이다.. 자바로 다시 풀어볼 기회가 생겨서 풀어봤다. 크루스칼 알고리즘으로 풀었는데, 프림 알고리즘도 더 공부해서 써봐야겠다. long 타입으로 지정해 줘야 하는 변수를 잘 확인하자! [JAVA] package day3; import java.io.InputStreamReader; import java.util.PriorityQueue.. 2020. 3. 11.
[백준 6359] 만취한 상범(JAVA) https://www.acmicpc.net/problem/6359 6359번: 만취한 상범 문제 서강대학교 곤자가 기숙사의 지하에는 n개의 방이 일렬로 늘어선 감옥이 있다. 각 방에는 벌점을 많이 받은 학생이 구금되어있다. 그러던 어느 날, 감옥 간수인 상범이는 지루한 나머지 정신나간 게임을 하기로 결정했다. 게임의 첫 번째 라운드에서 상범이는 위스키를 한 잔 들이키고, 달려가며 감옥을 한 개씩 모두 연다. 그 다음 라운드에서는 2, 4, 6, ... 번 방을 다시 잠그고, 세 번째 라운드에서는 3, 6, 9, ... 번 방이 열려있으면 잠그고 www.acmicpc.net import java.io.IOException; import java.io.InputStream; import java.io.Inp.. 2020. 3. 11.