본문 바로가기

Coding Test

(131)
[Java] 3단계. 수학은 비대면 강의입니다. [19532번] 예제 입력11 3 -1 4 1 7예제 출력12 -1예제 입력22 5 8 3 -4 -11 예제 출력2-1 2 문제 접근a, b, c, d, e, f는 -999 ~ 999 사이의 값x = -999, y = -999부터 시작하여 각각 대입 문제 해결이중 반복문으로 해결 x = -999 ~ 999y = -999 ~ 999a * x + b * y = c이고 d * x + e * y = f일 때 반복문 종료슈도 코드a, b, c, d, e, f 값 저장for(x = -999 ~ 999까지 반복){ if(x != 0 && y != 0) break; for(y = -999 ~ 999까지 반복){ if(ax + by = c이고 dx + ey = f){ answerX(x 저장) answerY(y 저장) } }}..
[Java] 2단계. 분해합 [2231번] 예제 입력1216예제 출력1198문제 접근어떤 자연수 M + M의 각 자릿수 = N이라 할 때, M은 N의 생성자생성자는 없는 경우도 있고 그럴 경우 0을 출력문제 해결자릿수를 간편하게 구하기 위해 문자열로 입력 받아 .length() 함수로 자릿수 구하기각 자릿수의 최댓값은 9이므로 생성자의 최솟값은 N - N 자릿수 * 9생성자가 나오는 즉시 종료슈도 코드N (어떠한 수 문자열로 저장)constructor(생성자를 저장한 변수 선언)start(N - N의 자릿수 * 9)for(i = start ~ N까지 반복){ sum (i값 저장) tmp (i값 저장) while(tmp % 10 != 0){ sum += tmp % 10 tmp/=10 } if(sum==N){ constructor = i; b..
[Java] 1단계. 블랙잭 [2798번] 예제 입력15 215 6 7 8 9예제 출력121예제 입력210 50093 181 245 214 315 36 185 138 216 295예제 출력2497문제 접근카드의 개수 N은 100개이하시간 복잡도 O(N^3)으로 풀더라도 1000000이므로 0.01초로 시간 제한 문제 없음N개 중 3개를 합한 값이 M이하인 것중 최댓값을 구하는 문제문제 해결N[0] + N[1] + N[2] ≤ M → max에 저장N[0] + N[1] + N[3] ≤ M → max와 비교하여 더 큰 값 max에 저장...N[0] + N[1] + N[N.length-1] ≤ M → 더 큰 값 max에 저장3중 반복문 사용i = 0 / i j = i + 1 / j k = j + 1 / k 슈도 코드N(카드 개수) 저장, M(목표 값) ..