Programmers/Level2 (76) 썸네일형 리스트형 [3차] 파일명 정렬 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 import java.util.*; class Solution { // head 비교 후 삽입 public static void headCompare(ArrayList list, String s1) { String head1 = s1.split("\\d")[0].toLowerCase(); int num1 = getFirstNumber(s1); for (int i = 0; i 예상 대진표 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 class Solution { public int solution(int n, int a, int b) { int answer = 1; int num1 = Math.min(a, b); int num2 = Math.max(a, b); // 서로 붙기 전 까지 수행 while ((num1 + 1) / 2 != (num2 + 1) / 2) { num1 = (num1 + 1) / 2; num2 = (num2 + 1) / 2; answer++; } return answer; } } Colored by Color Scripter cs 2로 계속 나눠서 구하였다. 괄호 변환 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 class Solution { public static String Recursion(String u, String v) { int left = 0, right = 0; StringBuilder sb = new StringBuilder(); if (u.length() == 0) return ""; // 문자열 u, v를 분리 for (int i = 0; i 튜플 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 import java.util.*; class Solution { public int[] solution(String s) { int[] answer = {}; // 숫자 분리 String[] arr = s.split("\\{\\{|\\}\\}|\\},\\{|,"); Map map = new HashMap(); // 숫자 빈도 저장 for (int i = 1; i 후보키 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 import java.util.*; class Solution { private static ArrayList allList = new ArrayList(); private static ArrayList key = new ArrayList(); public static void makeKey(String[][] relation, .. [1차] 프렌즈4블록 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 class Solution { public int solution(int m, int n, String[] board) { int answer = 0; char[][] c_board = new char[m][n]; int[] pos = new int[n]; // 블록이 내려올 위치 boolean flag = true; // char array로 변환 for (int i = 0; i 점프와 순간 이동 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 import java.util.*; public class Solution { public int solution(int n) { int ans = 0; while (n != 0) { if (n % 2 != 0) { n--; ans++; } n /= 2; } return ans; } } Colored by Color Scripter cs n까지 가는 경로에 규칙이 있다. n = 5 -> 1 - 2 - 4 - 5 n = 6 -> 1 - 2 - 3 - 6 n = 5000 -> 1 - 2 - 4 - 8 - 9 - 18 - 19 - 38 - 39 - 78 - 156 - 312 - 624 - 625 - 1250 - 2500 - 5000 역순으로 생각.. 구명보트 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 import java.util.*; class Solution { public int solution(int[] people, int limit) { int answer = 0; int i = 0, li = limit; Deque dq = new ArrayDeque(); Arrays.sort(people); for (i = 0; i 이전 1 ··· 3 4 5 6 7 8 9 10 다음