본문 바로가기

Programmers

(188)
오픈채팅방 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 import java.util.*; class Solution { public String[] solution(String[] record) { String[] answer = {}; List list = new ArrayList(); Map map = new HashMap(); // record 값 삽입 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 21 import java.util.*; class Solution { public String solution(int[] numbers) { String answer = ""; // numbers 배열을 String 배열로 변환 String[] tmp = Arrays.stream(numbers).mapToObj(String::valueOf).toArray(String[]::new); // 앞 뒤 숫자를 연결해서 큰 부분이 앞에 오도록 설정 Arrays.sort(tmp, new Comparator() { @Override public int compare(String o1, String o2) { return (o..
더 맵게 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 import java.util.*; class Solution { public int solution(int[] scoville, int K) { int answer = 0; TreeMap map = new TreeMap(); for (int s : scoville) { map.put(s, map.getOrDefault(s, 0) + 1); } while (map.firstKey() 1) map.put(a, map.get(a) - 1); else map.remove(a); if (map.get(b) > 1) map.put(b, map.get..
타겟 넘버 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 class Solution { public int TargetDFS(int[] num, int i, int target, int value) { // 마지막 배열을 입력했을 때 if (i == num.length - 1) { if (value == target) return 1; else return 0; } else { return TargetDFS(num, i + 1, target, value + num[i + 1]) + TargetDFS(num, i + 1, target, value - num[i + 1]); } } public int solution(int[] numbers, int target) { int..
카카오프렌즈 컬러링북 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 class Solution { public int search(int[][] pic, int i, int j, int value) { // 범위를 초과했을 경우 if (i = pic[0].length) return 0; if (pic[i][j] == 0) // 탐색할 필요가 없는 경우 return 0; else if (pic[i][j] != value) { // 영역이 달라졌을 경우 return 0; } else { pic[i][j] = 0; // 탐색한 부분을 0으로 처리 // 상..
문자열 압축 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(String s) { int answer = s.length(); StringBuilder sb = new StringBuilder(); int i, len = 1; String str; // 문자열 길이의 절반까지만 분할하여 탐색 while (len
[1차] 뉴스 클러스터링 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 import java.util.*; class Solution { public int solution(String str1, String str2) { int answer = 0; Map arr1 = new HashMap(); Map arr2 = new HashMap(); int i, j; String s; str1 = str1.toUpperCase(); str2 = str2.toUpperCase(); //특..
기능개발 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 import java.util.*; class Solution { public int[] solution(int[] progresses, int[] speeds) { int[] answer = {}; ArrayList pro = new ArrayList(); ArrayList sp = new ArrayList(); ArrayList finish = new ArrayList(); int i; for (i = 0; i 0) { int cnt = 0; for (i = 0; i