From f30ee41106bfa6b10e5fc5b7e4092cbf4501920b Mon Sep 17 00:00:00 2001 From: hyungi4608 Date: Thu, 2 Jun 2022 19:47:45 +0900 Subject: [PATCH 1/4] =?UTF-8?q?220602=5Fsolve=20:=20=EC=98=88=EC=82=B0=5Fk?= =?UTF-8?q?im?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Lv1/\354\230\210\354\202\260_kim.java" | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 "0602/Programmers/Lv1/\354\230\210\354\202\260_kim.java" diff --git "a/0602/Programmers/Lv1/\354\230\210\354\202\260_kim.java" "b/0602/Programmers/Lv1/\354\230\210\354\202\260_kim.java" new file mode 100644 index 0000000..8914514 --- /dev/null +++ "b/0602/Programmers/Lv1/\354\230\210\354\202\260_kim.java" @@ -0,0 +1,22 @@ + +import java.util.Arrays; + +public class 예산_kim { + public static void main(String[] args) { + int[] d = {2,2,3,3}; + int budget = 10; + + Arrays.sort(d); // 오름차순으로 정렬 + int sum = 0; + int idx = 0; + while(idx budget) { // 부서별 신청금액의 합이 예산보다 크면 멈춤 + break; + } + idx++; + } + System.out.println(idx); + } + +} From 31a0dc25d6e3af3e213f02c5a5134288e3b6043b Mon Sep 17 00:00:00 2001 From: hyungi4608 Date: Thu, 2 Jun 2022 19:47:56 +0900 Subject: [PATCH 2/4] =?UTF-8?q?220602=5Fsolve=20:=20=ED=8F=B0=EC=BC=93?= =?UTF-8?q?=EB=AA=AC=5Fkim?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...\217\260\354\274\223\353\252\254_kim.java" | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 "0602/Programmers/Lv1/\355\217\260\354\274\223\353\252\254_kim.java" diff --git "a/0602/Programmers/Lv1/\355\217\260\354\274\223\353\252\254_kim.java" "b/0602/Programmers/Lv1/\355\217\260\354\274\223\353\252\254_kim.java" new file mode 100644 index 0000000..0b6d0db --- /dev/null +++ "b/0602/Programmers/Lv1/\355\217\260\354\274\223\353\252\254_kim.java" @@ -0,0 +1,20 @@ + + +import java.util.HashSet; +import java.util.Set; + +public class 폰켓몬_kim { + public static void main(String[] args) { + int[] nums = {3,3,3,2,2,2}; + Set set = new HashSet<>(); // 중복 제거해서 set에 저장 + for(int i = 0; i < nums.length; i++) { + set.add(nums[i]); + } + if((nums.length/2) > set.size()) { + System.out.println(set.size()); + }else { + System.out.println(nums.length/2); + } + } + +} From e287bc5cafe3b185bedf1e0b18e517d2e2a2e524 Mon Sep 17 00:00:00 2001 From: hyungi4608 Date: Thu, 2 Jun 2022 19:48:12 +0900 Subject: [PATCH 3/4] =?UTF-8?q?220602=5Fsolve=20:=20=EC=98=A4=ED=94=88?= =?UTF-8?q?=EC=B1=84=ED=8C=85=EB=B0=A9=5Fkim?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...\261\204\355\214\205\353\260\251_kim.java" | 39 +++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 "0602/Programmers/Lv2/\354\230\244\355\224\210\354\261\204\355\214\205\353\260\251_kim.java" diff --git "a/0602/Programmers/Lv2/\354\230\244\355\224\210\354\261\204\355\214\205\353\260\251_kim.java" "b/0602/Programmers/Lv2/\354\230\244\355\224\210\354\261\204\355\214\205\353\260\251_kim.java" new file mode 100644 index 0000000..4cf40e3 --- /dev/null +++ "b/0602/Programmers/Lv2/\354\230\244\355\224\210\354\261\204\355\214\205\353\260\251_kim.java" @@ -0,0 +1,39 @@ + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +public class Programmers_Lv2_오픈채팅방 { + public static void main(String[] args) { + String[] record = {"Enter uid1234 Muzi", "Enter uid4567 Prodo","Leave uid1234","Enter uid1234 Prodo","Change uid4567 Ryan"}; + String[][] records = new String[record.length][3]; // [0]: 출입, 수정 , [1]: 아이디 , [2]: 닉네임 + Map map = new HashMap<>(); // 해쉬맵 생성 + for(int i = 0; i < records.length; i++) { + String a = record[i]; + records[i] = a.split(" "); + if(records[i][0].equals("Leave")) { + continue; + } + // map에 아이디를 키로 닉네임을 value로 저장해서 change일 때 자동으로 닉네임 바뀜 + map.put(records[i][1], records[i][2]); + } + List list = new ArrayList<>(); // 메세지 저장할 리스트 + for(int i = 0; i < records.length; i++) { + if(records[i][0].equals("Enter")) { + list.add(map.get(records[i][1])+"님이 들어왔습니다."); + }else if(records[i][0].equals("Leave")) { + list.add(map.get(records[i][1])+"님이 나갔습니다."); + } + } + //ans 배열에 list 값 옮겨 담아서 반환 + String[] ans = new String[list.size()]; + for(int i = 0; i < list.size(); i++) { + ans[i] = list.get(i); + } + System.out.println(Arrays.toString(ans)); + + } + +} From ff65dccf0da7d8842f34f49eaa1ea73cb7f7cb38 Mon Sep 17 00:00:00 2001 From: hyungi4608 Date: Thu, 2 Jun 2022 19:48:27 +0900 Subject: [PATCH 4/4] =?UTF-8?q?220602=5Fsolve=20:=20=EC=B9=B4=EC=B9=B4?= =?UTF-8?q?=EC=98=A4=ED=94=84=EB=A0=8C=EC=A6=88=EC=BB=AC=EB=9F=AC=EB=A7=81?= =?UTF-8?q?=EB=B6=81=5Fkim?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...\237\254\353\247\201\353\266\201_kim.java" | 51 +++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 "0602/Programmers/Lv2/\354\271\264\354\271\264\354\230\244\355\224\204\353\240\214\354\246\210\354\273\254\353\237\254\353\247\201\353\266\201_kim.java" diff --git "a/0602/Programmers/Lv2/\354\271\264\354\271\264\354\230\244\355\224\204\353\240\214\354\246\210\354\273\254\353\237\254\353\247\201\353\266\201_kim.java" "b/0602/Programmers/Lv2/\354\271\264\354\271\264\354\230\244\355\224\204\353\240\214\354\246\210\354\273\254\353\237\254\353\247\201\353\266\201_kim.java" new file mode 100644 index 0000000..8d81387 --- /dev/null +++ "b/0602/Programmers/Lv2/\354\271\264\354\271\264\354\230\244\355\224\204\353\240\214\354\246\210\354\273\254\353\237\254\353\247\201\353\266\201_kim.java" @@ -0,0 +1,51 @@ + + +import java.util.Arrays; + +public class Programmers_Lv2_카카오프렌즈컬러링북 { + static int[] dr = { -1, 1, 0, 0 }; + static int[] dc = { 0, 0, -1, 1 }; + static boolean[][] visited; + static int max; + static int fill; + + public static void main(String[] args) { + int m = 6; + int n = 4; + max = 0; // 최대로 칠한 칸 수 + int count = 0; // 영역 수 + visited = new boolean[m][n]; + int[][] picture = { { 1, 1, 1, 0 }, { 1, 2, 2, 0 }, { 1, 0, 0, 1 }, { 0, 0, 0, 1 }, { 0, 0, 0, 3 }, + { 0, 0, 0, 3 } }; + + for (int i = 0; i < m; i++) { + for (int j = 0; j < n; j++) { + if (picture[i][j] != 0 && !visited[i][j]) { // 0이 아니고 방문하지 않았다면 + fill = 0; // 색칠한 칸의 수 체크 할 변수 + check(picture, i, j); + count++; // 영역 수 증가 + max = Math.max(max, fill); // 최대로 칠한 칸 수 max에 비교해 저장 + } + } + } + int[] ans = new int[2]; + ans[0] = count; // 영역 수 + ans[1] = max; // 최대로 칠한 칸의 수 + System.out.println(Arrays.toString(ans)); + + } + + private static void check(int[][] picture, int r, int c) { + visited[r][c] = true; + fill++; // 현재 색칠한 칸의 수 증가 + for (int d = 0; d < 4; d++) { + int nr = r + dr[d]; + int nc = c + dc[d]; + if(nr >= 0 && nr < picture.length && nc >= 0 && nc < picture[0].length) { + if(!visited[nr][nc] && picture[r][c]==picture[nr][nc]) { + check(picture, nr, nc); + } + } + } + } +}