From 4afd0acf3c91fe124bbc5e57b27626aa720abd3a Mon Sep 17 00:00:00 2001 From: naryeong-ko Date: Wed, 4 May 2022 19:45:47 +0900 Subject: [PATCH 1/3] =?UTF-8?q?220504=5Fsolve=20:=20=EB=A1=9C=EB=98=90?= =?UTF-8?q?=EC=9D=98=EC=B5=9C=EA=B3=A0=EC=88=9C=EC=9C=84=EC=99=80=EC=B5=9C?= =?UTF-8?q?=EC=A0=80=EC=88=9C=EC=9C=84=5Fko?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...4\240\200\354\210\234\354\234\204_ko.java" | 54 +++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 "0503/Programmers/Lv1/\353\241\234\353\230\220\354\235\230\354\265\234\352\263\240\354\210\234\354\234\204\354\231\200\354\265\234\354\240\200\354\210\234\354\234\204_ko.java" diff --git "a/0503/Programmers/Lv1/\353\241\234\353\230\220\354\235\230\354\265\234\352\263\240\354\210\234\354\234\204\354\231\200\354\265\234\354\240\200\354\210\234\354\234\204_ko.java" "b/0503/Programmers/Lv1/\353\241\234\353\230\220\354\235\230\354\265\234\352\263\240\354\210\234\354\234\204\354\231\200\354\265\234\354\240\200\354\210\234\354\234\204_ko.java" new file mode 100644 index 0000000..8b3e5df --- /dev/null +++ "b/0503/Programmers/Lv1/\353\241\234\353\230\220\354\235\230\354\265\234\352\263\240\354\210\234\354\234\204\354\231\200\354\265\234\354\240\200\354\210\234\354\234\204_ko.java" @@ -0,0 +1,54 @@ +import java.util.HashMap; +import java.util.Map; + +class Solution1 { // 맵 사용한 풀이 + public int[] solution(int[] lottos, int[] win_nums) { + int[] answer = new int[2]; + Map map = new HashMap<>(6); + answer[1] = 7; + int plus = 0; + for (int i = 0; i < 6; i++) + map.put(win_nums[i], true); + for (int i = 0; i < 6; i++) { + if (lottos[i] == 0) + plus++; + else if (map.containsKey(lottos[i])) + answer[1]--; + } + + answer[0] = answer[1] - plus; + + for (int i = 0; i < 2; i++) + if (answer[i] == 7) + answer[i] = 6; + + return answer; + } + +} + +class Solution2 { // 반복문 풀이 + public int[] solution(int[] lottos, int[] win_nums) { + int[] answer = new int[2]; + answer[1] = 7; + int plus = 0; + for (int i = 0; i < 6; i++) { + if (lottos[i] == 0) { + plus++; + continue; + } + for (int j = 0; j < 6; j++) + if (lottos[i] == win_nums[j]) { // 일치하면 등수 감소 + answer[1]--; + break; + } + } + answer[0] = answer[1] - plus; + + for (int i = 0; i < 2; i++) + if (answer[i] == 7) + answer[i] = 6; + + return answer; + } +} From 1f6663369033b64351128e3f435e49158053184f Mon Sep 17 00:00:00 2001 From: naryeong-ko Date: Wed, 4 May 2022 19:45:57 +0900 Subject: [PATCH 2/3] =?UTF-8?q?220504=5Fsolve=20:=20=EC=88=AB=EC=9E=90?= =?UTF-8?q?=EA=B2=8C=EC=9E=84=5Fko?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...4\236\220\352\262\214\354\236\204_ko.java" | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 "0503/Programmers/Lv3/\354\210\253\354\236\220\352\262\214\354\236\204_ko.java" diff --git "a/0503/Programmers/Lv3/\354\210\253\354\236\220\352\262\214\354\236\204_ko.java" "b/0503/Programmers/Lv3/\354\210\253\354\236\220\352\262\214\354\236\204_ko.java" new file mode 100644 index 0000000..807dc60 --- /dev/null +++ "b/0503/Programmers/Lv3/\354\210\253\354\236\220\352\262\214\354\236\204_ko.java" @@ -0,0 +1,23 @@ +import java.util.Arrays; + +class Solution3 { + + public int solution(int[] A, int[] B) { + int n = A.length; + int answer = 0; + int idxB = 0; // 확인할 B값 인덱스 + + Arrays.sort(A); + Arrays.sort(B); + + for (int i = 0; i < n; i++) + while(idxB < n) // B값 다 확인할 때까지 + if (A[i] < B[idxB++]) { // 이기면 다음 B값과 다음 A값 비교 + answer++; + break; + } + + return answer; + } + +} \ No newline at end of file From 1eb6f9ac4e115b1c19199c7513f0e40f30298615 Mon Sep 17 00:00:00 2001 From: naryeong-ko Date: Wed, 4 May 2022 19:46:10 +0900 Subject: [PATCH 3/3] =?UTF-8?q?220504=5Fsolve=20:=20=ED=8C=8C=EC=9D=BC?= =?UTF-8?q?=EB=AA=85=EC=A0=95=EB=A0=AC=5Fko?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...3\252\205\354\240\225\353\240\254_ko.java" | 55 +++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 "0503/Programmers/Lv2/\355\214\214\354\235\274\353\252\205\354\240\225\353\240\254_ko.java" diff --git "a/0503/Programmers/Lv2/\355\214\214\354\235\274\353\252\205\354\240\225\353\240\254_ko.java" "b/0503/Programmers/Lv2/\355\214\214\354\235\274\353\252\205\354\240\225\353\240\254_ko.java" new file mode 100644 index 0000000..77cf9ba --- /dev/null +++ "b/0503/Programmers/Lv2/\355\214\214\354\235\274\353\252\205\354\240\225\353\240\254_ko.java" @@ -0,0 +1,55 @@ +import java.util.Collections; +import java.util.List; +import java.util.regex.Matcher; +import java.util.regex.Pattern; +import java.util.ArrayList; + +class Solution { + static Pattern p = Pattern.compile("[0-9]+"); // 숫자 정규표현식 + static Matcher m; + static List list = new ArrayList<>(); + + static class File implements Comparable { + String header; + String number; + String tail; + + @Override + public int compareTo(File o) { + int sCom = this.header.compareToIgnoreCase(o.header); + if (sCom == 0) // 헤더 같으면 숫자 비교 + return Integer.parseInt(this.number) - Integer.parseInt(o.number); + return sCom; + } + } + + public String[] solution(String[] files) { + int fLen = files.length; + String[] answer = new String[fLen]; + for (int i = 0; i < fLen; i++) + findNum(files[i]); + Collections.sort(list); // 정렬 + for (int i = 0; i < fLen; i++) { + File file = list.get(i); + answer[i] = file.header + file.number + file.tail; + } + + return answer; + } + + static void findNum(String str) { + File file = new File(); + m = p.matcher(str); // 숫자 찾아서 + m.find(); + int start = m.start(); + int end = m.end(); + if (end - start > 5) // 숫자는 5개까지 + end = start + 5; + + file.header = str.substring(0, start); // 숫자 앞까지 + file.number = str.substring(start, end); // 숫자 + file.tail = str.substring(end); // 숫자 뒤부터 + list.add(file); + } + +} \ No newline at end of file