From 5992b36f84e217c3373f72524fdcec3777ba18e8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EB=85=B8=ED=98=B8=EC=A4=80?= Date: Wed, 4 May 2022 20:05:46 +0900 Subject: [PATCH 1/2] 220505_solve : Lv1_noh --- 0503/Programmers/Lv1/Lv1_noh.java | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 0503/Programmers/Lv1/Lv1_noh.java diff --git a/0503/Programmers/Lv1/Lv1_noh.java b/0503/Programmers/Lv1/Lv1_noh.java new file mode 100644 index 0000000..107d2a3 --- /dev/null +++ b/0503/Programmers/Lv1/Lv1_noh.java @@ -0,0 +1,26 @@ +class Solution { + public int[] solution(int[] lottos, int[] win_nums) { + int[] answer = {}; + answer = new int[2]; + + int zero = 0; + int same = 0; + for (int i = 0; i < lottos.length; ++i) { + if (lottos[i] == 0) { + ++zero; + continue; + } + for (int j = 0; j < win_nums.length; ++j) { + if (lottos[i] == win_nums[j]) { + ++same; + break; + } + } + } + + answer[0] = 7 - (same + zero == 0 ? 1 : same + zero); + answer[1] = 7 - (same == 0 ? 1 : same); + + return answer; + } +} \ No newline at end of file From 6e326c8f4adac58336dbb04e4f31dfbf5568f254 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EB=85=B8=ED=98=B8=EC=A4=80?= Date: Wed, 4 May 2022 20:05:53 +0900 Subject: [PATCH 2/2] 220505_solve : Lv2_noh --- 0503/Programmers/Lv2/Lv2_noh.java | 56 +++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 0503/Programmers/Lv2/Lv2_noh.java diff --git a/0503/Programmers/Lv2/Lv2_noh.java b/0503/Programmers/Lv2/Lv2_noh.java new file mode 100644 index 0000000..4c5b75c --- /dev/null +++ b/0503/Programmers/Lv2/Lv2_noh.java @@ -0,0 +1,56 @@ +import java.util.Arrays; + +class Solution { + public String[] solution(String[] files) { + String[] answer = {}; + + Arrays.sort(files, (o1, o2) -> { + // 스트링으로 변환 + String str1 = o1; + String str2 = o2; + + // 소문자로 바꿔서 비교 + str1 = str1.toLowerCase(); + str2 = str2.toLowerCase(); + + // str1의 넘버의 시작과 끝 인덱스 찾기 + int idx1 = -1;// 시작 인덱스 + int idx2 = -1;// 끝 인덱스 + for (int i = 0; i < str1.length(); ++i) + if ('0' <= str1.charAt(i) && str1.charAt(i) <= '9') { + if (idx1 == -1) { + idx1 = i; + idx2 = i; + } else if (idx2 == i - 1) + idx2 = i; + } + // str1을 찾은 인덱스로 나누기 + String head1 = str1.substring(0, idx1); + String number1 = str1.substring(idx1, idx2 + 1); + + // str2도 마찬가지로 진행 + idx1 = -1; + idx2 = -1; + for (int i = 0; i < str2.length(); ++i) + if ('0' <= str2.charAt(i) && str2.charAt(i) <= '9') { + if (idx1 == -1) { + idx1 = i; + idx2 = i; + } else if (idx2 == i - 1) + idx2 = i; + } + String head2 = str2.substring(0, idx1); + String number2 = str2.substring(idx1, idx2 + 1); + + // 헤드가 같으면 넘버로 비교 + if (head1.equals(head2)) { + return Integer.parseInt(number1) - Integer.parseInt(number2); + } + // 헤드가 다르면 헤드로 비교 + return head1.compareTo(head2); + }); + + answer = files; + return answer; + } +} \ No newline at end of file