본문 바로가기

Programmers/Level2

(76)
[카카오 인턴] 수식 최대화 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 import java.util.*; class Solution { public long solution(String expression) { long answer = 0; char[] formula = { '*', '+', '-' }; int[][] order = { { 0, 1, 2 }, { 0, 2, 1 }, { 1, 0, 2 }, { 1, 2, 0 }, { 2, 0, 1 }, { 2, 1, 0 } }; List list = new ArrayList()..
124 나라의 숫자 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 class Solution { public String solution(int n) { String answer = ""; StringBuilder sb = new StringBuilder(); while (n > 0) { if (n % 3 == 0) { sb.append(4); n--; } else if (n % 3 == 1) sb.append(1); else sb.append(2); n /= 3; } answer = sb.reverse().toString(); return answer; } } Colored by Color Scripter cs 진법 변환 시 규칙을 찾아내는 것이 중요하다. 3의 배수일 때 자리 수가..
전화번호 목록 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 import java.util.*; class Solution { public boolean solution(String[] phone_book) { boolean answer = true; Arrays.sort(phone_book); 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 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 import java.util.*; class Solution { private static int[] addRow = { -1, 0, 1, 0 }; private static int[] addCol = { 0, 1, 0, -1 }; public int solution(int[][] maps) { int answer = 0; int[][] weight = new int[maps.length][maps[0].length]; Queue queue = new Link..
오픈채팅방 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..