코딩테스트
-
백준 9465 스티커 - 자바(DP)코딩테스트 2021. 7. 15. 12:37
스티커 한국어 시간 제한메모리 제한제출정답맞은 사람정답 비율 1 초 256 MB 38071 19503 12876 49.645% 문제 상근이의 여동생 상냥이는 문방구에서 스티커 2n개를 구매했다. 스티커는 그림 (a)와 같이 2행 n열로 배치되어 있다. 상냥이는 스티커를 이용해 책상을 꾸미려고 한다. 상냥이가 구매한 스티커의 품질은 매우 좋지 않다. 스티커 한 장을 떼면, 그 스티커와 변을 공유하는 스티커는 모두 찢어져서 사용할 수 없게 된다. 즉, 뗀 스티커의 왼쪽, 오른쪽, 위, 아래에 있는 스티커는 사용할 수 없게 된다. 모든 스티커를 붙일 수 없게된 상냥이는 각 스티커에 점수를 매기고, 점수의 합이 최대가 되게 스티커를 떼어내려고 한다. 먼저, 그림 (b)와 같이 각 스티커에 점수를 매겼다. 상냥이..
-
백준 10844 쉬운 계단 수 (자바) - DP코딩테스트 2021. 6. 30. 14:03
쉬운 계단 수 시간 제한메모리 제한제출정답맞은 사람정답 비율 1 초 256 MB 81205 24853 17802 28.637% 문제 45656이란 수를 보자. 이 수는 인접한 모든 자리수의 차이가 1이 난다. 이런 수를 계단 수라고 한다. 세준이는 수의 길이가 N인 계단 수가 몇 개 있는지 궁금해졌다. N이 주어질 때, 길이가 N인 계단 수가 총 몇 개 있는지 구하는 프로그램을 작성하시오. (0으로 시작하는 수는 없다.) 입력 첫째 줄에 N이 주어진다. N은 1보다 크거나 같고, 100보다 작거나 같은 자연수이다. 출력 첫째 줄에 정답을 1,000,000,000으로 나눈 나머지를 출력한다. 예제 입력 1 복사 1 예제 출력 1 복사 9 예제 입력 2 복사 2 예제 출력 2 복사 17 이 문제는 잘 안 풀..
-
백준 10953번 자바 - 입출력코딩테스트 2021. 6. 29. 15:52
A+B - 6 시간 제한메모리 제한제출정답맞은 사람정답 비율 1 초 256 MB 24539 16017 14162 66.460% 문제 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있으며, 각 줄에 A와 B가 주어진다. A와 B는 콤마(,)로 구분되어 있다. (0 < A, B < 10) 출력 각 테스트 케이스마다 A+B를 출력한다. 예제 입력 1 복사 5 1,1 2,3 3,4 9,8 5,2 예제 출력 1 복사 2 5 7 17 7 1. BufferedReader와 StringTokenizer 사용 import java.io.BufferedReader; import java.io.Input..
-
백준 10951 A+B - 4 (자바) - 입출력코딩테스트 2021. 6. 29. 15:38
A+B - 4 시간 제한메모리 제한제출정답맞은 사람정답 비율 1 초 256 MB 143420 50004 42716 35.696% 문제 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. 입력 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 한 줄로 이루어져 있으며, 각 줄에 A와 B가 주어진다. (0 < A, B < 10) 출력 각 테스트 케이스마다 A+B를 출력한다. 예제 입력 1 복사 1 1 2 3 3 4 9 8 5 2 예제 출력 1 복사 2 5 7 17 7 아무 생각없이 그냥 while(true)로 계속 돌리도록 했는데 NoSuchElement 에러가 발생했다. 이 문제는 EOF 문제이다. EOF는 End of File의 약자로 더 이상 입력되는 데이터..
-
백준 1010번 다리 놓기 (자바) - DP코딩테스트 2021. 6. 25. 12:30
다리 놓기 성공 시간 제한메모리 제한제출정답맞은 사람정답 비율 0.5 초 (추가 시간 없음) 128 MB 35876 16315 13287 48.477% 문제 재원이는 한 도시의 시장이 되었다. 이 도시에는 도시를 동쪽과 서쪽으로 나누는 큰 일직선 모양의 강이 흐르고 있다. 하지만 재원이는 다리가 없어서 시민들이 강을 건너는데 큰 불편을 겪고 있음을 알고 다리를 짓기로 결심하였다. 강 주변에서 다리를 짓기에 적합한 곳을 사이트라고 한다. 재원이는 강 주변을 면밀히 조사해 본 결과 강의 서쪽에는 N개의 사이트가 있고 동쪽에는 M개의 사이트가 있다는 것을 알았다. (N ≤ M) 재원이는 서쪽의 사이트와 동쪽의 사이트를 다리로 연결하려고 한다. (이때 한 사이트에는 최대 한 개의 다리만 연결될 수 있다.) 재원..
-
백준 2577번 숫자의 개수 (자바) - 문자열코딩테스트 2021. 6. 25. 11:11
숫자의 개수 시간 제한메모리 제한제출정답맞은 사람정답 비율 1 초 128 MB 91558 54959 45903 60.211% 문제 세 개의 자연수 A, B, C가 주어질 때 A × B × C를 계산한 결과에 0부터 9까지 각각의 숫자가 몇 번씩 쓰였는지를 구하는 프로그램을 작성하시오. 예를 들어 A = 150, B = 266, C = 427 이라면 A × B × C = 150 × 266 × 427 = 17037300 이 되고, 계산한 결과 17037300 에는 0이 3번, 1이 1번, 3이 2번, 7이 2번 쓰였다. 입력 첫째 줄에 A, 둘째 줄에 B, 셋째 줄에 C가 주어진다. A, B, C는 모두 100보다 크거나 같고, 1,000보다 작은 자연수이다. 출력 첫째 줄에는 A × B × C의 결과에 0..
-
백준 1110번 더하기 사이클(자바) - 문자열코딩테스트 2021. 6. 23. 13:39
더하기 사이클 성공 시간 제한메모리 제한제출정답맞은 사람정답 비율 2 초 128 MB 125229 59319 49708 47.933% 문제 0보다 크거나 같고, 99보다 작거나 같은 정수가 주어질 때 다음과 같은 연산을 할 수 있다. 먼저 주어진 수가 10보다 작다면 앞에 0을 붙여 두 자리 수로 만들고, 각 자리의 숫자를 더한다. 그 다음, 주어진 수의 가장 오른쪽 자리 수와 앞에서 구한 합의 가장 오른쪽 자리 수를 이어 붙이면 새로운 수를 만들 수 있다. 다음 예를 보자. 26부터 시작한다. 2+6 = 8이다. 새로운 수는 68이다. 6+8 = 14이다. 새로운 수는 84이다. 8+4 = 12이다. 새로운 수는 42이다. 4+2 = 6이다. 새로운 수는 26이다. 위의 예는 4번만에 원래 수로 돌아올..
-
백준 2606번 바이러스(자바) - bfs, dfs코딩테스트 2021. 6. 23. 12:52
바이러스 성공 시간 제한메모리 제한제출정답맞은 사람정답 비율 1 초 128 MB 66023 30320 20785 44.857% 문제 신종 바이러스인 웜 바이러스는 네트워크를 통해 전파된다. 한 컴퓨터가 웜 바이러스에 걸리면 그 컴퓨터와 네트워크 상에서 연결되어 있는 모든 컴퓨터는 웜 바이러스에 걸리게 된다. 예를 들어 7대의 컴퓨터가 과 같이 네트워크 상에서 연결되어 있다고 하자. 1번 컴퓨터가 웜 바이러스에 걸리면 웜 바이러스는 2번과 5번 컴퓨터를 거쳐 3번과 6번 컴퓨터까지 전파되어 2, 3, 5, 6 네 대의 컴퓨터는 웜 바이러스에 걸리게 된다. 하지만 4번과 7번 컴퓨터는 1번 컴퓨터와 네트워크상에서 연결되어 있지 않기 때문에 영향을 받지 않는다. 어느 날 1번 컴퓨터가 웜 바이러스에 걸렸다. ..