문제 나의 생각 2중 for문으로 -num 값 부터 total 값까지 순차적으로 비교하여 sum 값이 값을 때 return 하는 방식으로 접근. 나의 답안 public static int[] solution(int num, int total) { int[] answer = new int[num]; int sum = 0; for (int i = -num; i
문제 나의 생각 다항식에 x값과 정수 값을 나누어 더하기를 시행만 해주면 된다. 그렇다면 입력되는 매개변수를 " + ' 기준으로 나누어 배열에 넣고 남은 값들을 기준으로 x 가 있으면 계산을 별도로 진행, 정수는 바로 더하기 해주는 방식으로 접근. x 만 입력된 1x 가 될 수 있으니 해당 경우 return시 x로 변환하여 반환토록 진행. 나의 답안 public static String solution(String polynomial) { int sumA = 0; int sumB = 0; String[] split = polynomial.split(" [+] "); for (int i = 0; i < split.length; i++) { if (split[i].contains("x")) { if (spl..
문제 나의 생각 처음에는 for문으로 접근 하려고 하다가 while문이 좀 더 적절한 방식이라고 판단하여 while으로 진행. 입력값 n 만큼 진행되어야 하는 while문 안에 저주받은 수를 체크하는 while은 두어 3이 들어 있거나 3의 배수일 경우가 아닐 때 반복문을 빠져나오게 함. 나의 답안 public static int solution(int n) { int count = 0; int time = 0; while (n > time) { while (true) { count++; String s = Integer.toString(count); if (!s.contains("3") && !(count % 3 == 0)) { break; } } time++; } return count; }
문제 나의 생각 유한소수를 구하는 방식중에 하나는 나누기를 하고 소수점이 16자리 이상이면 유한소수라고 판별이 되는 방식이 있다. 해당 방식을 이용하여 처리하는 방법을 진행. 나의 답안 public static int solution(int a, int b) { Double db = (double) a / b ; String dbStr = String.valueOf(db); return dbStr.length() >= 16 ? 2 : 1; }
문제 나의 생각 중첩되는 구간마다 +1을 해주고 값이 2가 넘 배열의 개수를 반환해주면 되겠다고 생각하고 접근 나의 답안 public static int solution(int[][] lines) { int[] arr = new int[200]; int answer = 0; for(int i = 0; i 1) answer++; return answer; }
문제 나의 생각 substring 함를 사용하여 한칸씩 이동시키다가 B와 같은 때의 순번을 반환하는 방식으로 접근. 나의 답안 public static int solution(String A, String B) { int answer = 0; String a = A; for (int i = 0; i < A.length(); i++) { if (a.equals(B)) return answer; String b = a.substring(a.length() - 1); a = b + a.substring(0, a.length() - 1); answer++; } return answer; }