Coding Test (131) 썸네일형 리스트형 [Java] 반복 수열 [2231번] https://www.acmicpc.net/problem/2331예제 입력157 2 예제 출력14문제 접근처음 입력받은 수에서 각 자리마다 P제곱을 하여 모두 더함수열을 계속하여 진행하다보면 반복되는 수열이 등장반복되는 부분을 제외한 반복되지 않은 부분의 개수를 출력하는 문제문제 해결무한대로 저장할 ArrayList 한 개 생성반복된 수를 저장할 반복ArrayList 생성무한 반복 List에서 마지막 값을 뽑아 String으로 받고, 문자열의 길이 만큼 반복0~length-1번까지 charAt() - ‘0’을 하여 정숫값을 저장해당 정수값을 Math.pow() 함수로 P만큼 제곱한 값을 sum에 누적무한 반복 리스트에 포함이 된다면 반복 리스트에 저장단, 반복 리스트에도 포함이 된다면 이미 1번의 루프를.. [Java] 영식이의 손가락 [2740번] https://www.acmicpc.net/problem/1614예제 입력123예제 출력115예제 입력210예제 출력20예제 입력350예제 출력34예제 입력4248예제 출력4193예제 입력55973예제 출력57788 예제 입력6399999예제 출력6399998문제 접근패턴은 1 → 2 → 3 → 4 → 5 → 4 → 3 → 2로 반복다친 손가락이 패턴을 몇 번 반복할 수 있는 지 확인8 * 반복 가능한 패턴패턴은 온전히 반복하지 못할 때 1개씩 계산문제 해결다친 손가락으로 셀 수 있는 수는 10억이하로 int가 아닌 long 선언 필요패턴 배열 생성 [1, 2, 3, 4 ,5 ,4 ,3, 2]다친 손가락이 1패턴에 몇 번 등장하는 지 확인전체 패턴 = 다친 손가락 사용 가능 횟수 / 1패턴에 다친 손가락.. [Java] 방 번호 [2740번] https://www.acmicpc.net/problem/1475예제 입력19999예제 출력12예제 입력2122예제 출력22예제 입력312635예제 출력31 예제 입력4888888예제 출력46문제 접근한 세트 = 0 ~ 9번6번과 9번은 서로 바꿔 사용 가능방 번호는 100만 이하의 숫자 ⇒ 동일한 숫자로 나오면 999,999 같은 식으로 플라스틱 세트는 최대 6개문제 해결0 ~ 9번까지의 배열 생성Counting sort 하는 것처럼 입력받은 숫자를 각 방번호 index에 추가단, 6과 9일 경우 더한 뒤 /2 + %2를 한 값을 동일하게 저장6이 6개, 9가 0개일 경우 9로 대체하여 3개의 세트면 되기 때문배열에서 가장 숫자가 큰 것의 인덱스를 저장슈도 코드roomNumber (방 번호 문자열 저장.. [Java] 행렬 곱셈 [2740번] https://www.acmicpc.net/problem/2740 예제 입력13 21 23 45 62 3-1 -2 00 0 3 예제 출력1-1 -2 6-3 -6 12-5 -10 18문제 접근A[0][0] * B[0][0] + A[0][1] * B[1][0] = 1 * -1 + 2 * 0 = -1A[0][0] * B[0][1] + A[0][1] * B[1][1] = 1 * -2 + 2 * 0 = -2A[0][0] * B[0][2] + A[0][1] * B[1][2] = 1 * 0 + 2 * 3 = 6A[1][0] * B[0][0] + A[1][1] * B[1][0] = 3 * -1 + 4 * 0 = -3A[1][0] * B[0][1] + A[1][1] * B[1][1] = 3 * -2 + 4 * 0 = -.. [Java] 2차원 배열의 합 [2167번] https://www.acmicpc.net/problem/2167예제 입력12 31 2 48 16 3231 1 2 31 2 1 21 3 2 3예제 출력163236문제 접근첫째줄에는 2차원 배열의 크기가 주어짐 (N행 M열)둘째줄에는 2차원 배열의 값이 주어짐셋째줄에는 합을 구할 케이스가 주어짐넷째줄부터 누적 합을 할 좌표 가 주어짐[i , j] ~ [x, y]배열의 합이 2$^3$$^1$-1이하 이므로 int로 표현 가능문제 해결start X ~ end X, startY ~ endY 이중 반복문슈도 코드N(행 저장), M(열 저장)A[N+1][M+1] 배열 선언for(N번 반복){ for(M번 반복){ A 배열 초기화 }}K(케이스 개수 저장)for(K번 반복){ startX, startY, endX,.. [Java] 수들의 합5 [2018번] https://www.acmicpc.net/problem/2018예제 입력115예제 출력14문제 접근1부터 N까지의 배열을 생성더하는 수의 개수는 고정이 아님문제 해결1 ~ N까지 배열 생성시작 ~ 마지막의 합이 N을 넘을 경우 종료Ex) N = 30start = 14, end = 15 ⇒ 14 + 15 ⇒ 2915(start) + 16(end) ⇒ 31 > 30즉, 15이후 부터는 30이 만들어지는 경우가 없음투 포인터로 아래의 규칙 생성조건 : end가 배열 길이보다 작을 때까지 반복start ~ end의 합이 N보다 작다면 ⇒ end 1증가start ~ end의 합이 N보다 크다면 ⇒ start 1증가start ~ end의 합이 N과 같다면 ⇒ start, end, count 1증가end가 배열 길.. [Java] 수들의 합2 [2003번] https://www.acmicpc.net/problem/2003예제 입력14 21 1 1 1예제 출력13예제 입력210 51 2 3 4 2 5 3 1 1 2예제 출력23문제 접근시간 제한 0.5초 ⇒ 5,000만번의 연산 이내로 해결첫째줄에 숫자의 개수 N과 i~j까지의 합이 M이 되어야하는 수가 주어짐i ~ j까지 더하는데, i~j의 범위가 고정되어 있지 않음입력 예제 2의 예시1번째 경우의 수 ⇒ 2 32번째 경우의 수 ⇒ 53번째 경우의 수 ⇒ 3 1 1문제 해결투 포인터 방식으로 문제 해결최초 start와 end를 같게 시작하여 다음의 규칙 만족목표값(M)보다 start~end의 합이 작을 경우 end 1증가목표값(M)보다 start~end의 합이 클 경우 start 1 증가목표값(M)과 sta.. [Java] 참외밭 [2477번] https://www.acmicpc.net/problem/2477예제 입력174 502 1603 301 603 201 100예제 출력147600문제 접근직사각형의 넓이(6050=8000)에서 제외할 직사각형의 넓이(6020)를 빼야 함임의의 꼭지점에서 역시계 방향으로 진행이 되기 때문에 아래의 규칙을 항상 만족문제 해결방향과 길이를 저장한 배열을 각각 생성길이가 가장 긴 가로 길이, 인덱스 / 길이가 가장 긴 세로 길이, 인덱스 저장꼭지점을 기준으로 항상 역방향이기 때문에 다음과 같은 규칙 생성제외할 사각형의 가로 길이 ⇒ 가장 길이가 긴 가로에서 4번 뒤에 등장제외할 사각형의 세로 길이 ⇒ 가장 길이가 긴 세로에서 2번 뒤에 등장슈도 코드K (참외 개수 저장)direction[] (방향 배열 선언)le.. 이전 1 ··· 12 13 14 15 16 17 다음