From 9b73f6859ad7dc8fa4f584d8b14e4df03979af82 Mon Sep 17 00:00:00 2001 From: hyungi4608 Date: Tue, 3 May 2022 21:08:52 +0900 Subject: [PATCH 1/3] 220503_solve : P1620_kim --- 0503/BOJ/P1620/P1620_kim.java | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 0503/BOJ/P1620/P1620_kim.java diff --git a/0503/BOJ/P1620/P1620_kim.java b/0503/BOJ/P1620/P1620_kim.java new file mode 100644 index 0000000..0e24c8b --- /dev/null +++ b/0503/BOJ/P1620/P1620_kim.java @@ -0,0 +1,34 @@ + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Scanner; + +public class P1620_kim { + public static void main(String[] args) { + Scanner sc = new Scanner(System.in); + StringBuilder sb = new StringBuilder(); + int m = sc.nextInt(); + int n = sc.nextInt(); + List poket = new ArrayList<>(); + Map map = new HashMap<>(); + for(int i = 0; i < m; i++) { + String poketmon = sc.next(); + poket.add(poketmon); // 포켓몬 저장 + map.put(poketmon, i); // 포켓몬 이름과 번호를 매핑해서 이름으로 번호를 찾기 쉽게 한다. + } + for(int i = 0; i < n; i++) { + String a = sc.next(); + if(a.charAt(0)-'0' >= 0 && a.charAt(0)-'0' <= 9) { + sb.append(poket.get(Integer.parseInt(a)-1)).append("\n"); // 인덱스가 0부터 시작이라 -1 해주었다. + + }else { + sb.append(map.get(a)+1).append("\n"); // 인덱스가 0부터 시작이라 +1 해주었다. + } + } + System.out.println(sb.toString()); + + } + +} From 2ef2c0a10babbc5df4098528eec3e7258c685f4f Mon Sep 17 00:00:00 2001 From: hyungi4608 Date: Tue, 3 May 2022 21:09:06 +0900 Subject: [PATCH 2/3] 220503_solve : P1676_kim --- 0503/BOJ/P1676/P1676_kim.java | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 0503/BOJ/P1676/P1676_kim.java diff --git a/0503/BOJ/P1676/P1676_kim.java b/0503/BOJ/P1676/P1676_kim.java new file mode 100644 index 0000000..ba8e693 --- /dev/null +++ b/0503/BOJ/P1676/P1676_kim.java @@ -0,0 +1,15 @@ + + +import java.util.Scanner; + +public class baekjoon_P1676_팩토리얼 { + public static void main(String[] args) { + Scanner sc = new Scanner(System.in); + int n = sc.nextInt(); + // 25의 배수이면 0이 2개 더 붙어서 n/25 , 125의 배수이면 0이 3개 더 붙어서 n/125 해준다! + int ans = (n/5)+(n/25)+(n/125); + System.out.println(ans); + + } + +} From 285da31197286e6f20cfcebfd996b02e4d6830a5 Mon Sep 17 00:00:00 2001 From: hyungi4608 Date: Tue, 3 May 2022 21:09:20 +0900 Subject: [PATCH 3/3] 220503_solve : P1697_kim --- 0503/BOJ/P1697/P1697_kim.java | 49 +++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 0503/BOJ/P1697/P1697_kim.java diff --git a/0503/BOJ/P1697/P1697_kim.java b/0503/BOJ/P1697/P1697_kim.java new file mode 100644 index 0000000..53cf67a --- /dev/null +++ b/0503/BOJ/P1697/P1697_kim.java @@ -0,0 +1,49 @@ + + +import java.util.LinkedList; +import java.util.Queue; +import java.util.Scanner; + +public class baekjoon_P1697_숨바꼭질 { + public static void main(String[] args) { + Scanner sc = new Scanner(System.in); + int n = sc.nextInt(); + int k = sc.nextInt(); + Queue queue = new LinkedList<>(); + boolean[] visited = new boolean[100001]; // 방문처리! + queue.add(n); + visited[n] = true; + int ans = 0; + if(n > k) { // 수빈이가 동생보다 앞에 있다면 수빈이 위치 - 동생 위치 + ans = n-k; + }else if( n == k) { // 둘의 위치가 같다면 0 + ans = 0; + }else { + out:while(true) { + int size = queue.size(); + for(int i = 0; i < size; i++) { + int num = queue.poll(); + if(num == k) { // 수빈이 위치가 동생 위치랑 같아지면 멈춤 + break out; + } + // 아직 다음 위치를 방문하지 않았을 때만 queue에 넣어주고 방문처리 해준다!!! + if(num+1 <= 100000 && !visited[num+1]) { + queue.add(num+1); + visited[num+1] = true; + } + + if( num-1 >= 0 && !visited[num-1]) { + queue.add(num-1); + visited[num-1] = true; + } + if( num*2 <= 100000 && !visited[num*2]) { + queue.add(num*2); + visited[num*2] = true; + } + } + ans++; + } + } + System.out.println(ans); + } +}