From d3122e4476bcdb26818c77ed5b8dff15f7d07662 Mon Sep 17 00:00:00 2001 From: naryeong-ko Date: Mon, 9 May 2022 21:34:19 +0900 Subject: [PATCH 1/2] =?UTF-8?q?220509=5Fsolve=20:=20=EC=95=95=EC=B6=95=5Fk?= =?UTF-8?q?o?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Lv2/\354\225\225\354\266\225_ko.java" | 37 +++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git "a/0510/Programmers/Lv2/\354\225\225\354\266\225_ko.java" "b/0510/Programmers/Lv2/\354\225\225\354\266\225_ko.java" index 8b13789..44a6a70 100644 --- "a/0510/Programmers/Lv2/\354\225\225\354\266\225_ko.java" +++ "b/0510/Programmers/Lv2/\354\225\225\354\266\225_ko.java" @@ -1 +1,38 @@ +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +public class 압축_ko { + + public static int[] solution(String msg) { + int mLen = msg.length(); + List list = new ArrayList<>(); // 답 저장 + Map map = new HashMap<>(); // 사전 + int mIdx = 27; // 사전 인덱스 + StringBuilder sb = new StringBuilder(); + + for (int i = 0; i < 26; i++) // 알파벳 사전에 입력 + map.put(Character.toString((char) ('A' + i)), i + 1); + + for (int i = 0; i < mLen; i++) { + sb.append(msg.charAt(i)); + if (!map.containsKey(sb.toString())) { // 사전에 없다면 + list.add(map.get(sb.substring(0, sb.length() - 1))); // 사전에 있는 값의 사전 번호 출력 + map.put(sb.toString(), mIdx++); // 사전에 추가 + sb.setLength(0); // 스트링빌더 초기화 + i--; + } + } + + list.add(map.get(sb.toString())); // 남은 답 넣어주기 + + int lLen = list.size(); + int[] answer = new int[lLen]; + for (int i = 0; i < lLen; i++) // 리턴할 배열에 옮기기 + answer[i] = list.get(i); + + return answer; + } + +} \ No newline at end of file From da71c28cc6be5c251c4ea294d1be63f615e6356c Mon Sep 17 00:00:00 2001 From: naryeong-ko Date: Mon, 9 May 2022 21:34:29 +0900 Subject: [PATCH 2/2] =?UTF-8?q?220509=5Fsolve=20:=20=EC=97=86=EB=8A=94?= =?UTF-8?q?=EC=88=AB=EC=9E=90=EB=8D=94=ED=95=98=EA=B8=B0=5Fko?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...353\215\224\355\225\230\352\270\260_ko.java" | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git "a/0510/Programmers/Lv1/\354\227\206\353\212\224\354\210\253\354\236\220\353\215\224\355\225\230\352\270\260_ko.java" "b/0510/Programmers/Lv1/\354\227\206\353\212\224\354\210\253\354\236\220\353\215\224\355\225\230\352\270\260_ko.java" index 8b13789..f4d0c9f 100644 --- "a/0510/Programmers/Lv1/\354\227\206\353\212\224\354\210\253\354\236\220\353\215\224\355\225\230\352\270\260_ko.java" +++ "b/0510/Programmers/Lv1/\354\227\206\353\212\224\354\210\253\354\236\220\353\215\224\355\225\230\352\270\260_ko.java" @@ -1 +1,16 @@ - +class Solution { + public int solution(int[] numbers) { + int answer = 0; + boolean[] find = new boolean[10]; // 0~9 사용 + int len = numbers.length; + + for (int i = 0; i < len; i++) // 있으면 true + find[numbers[i]] = true; + + for (int i = 0; i < 10; i++) // 없으면 더하기 + if (!find[i]) + answer += i; + + return answer; + } +} \ No newline at end of file