From 6ad0745a8bcc85c27e2640ba7efae8a54e434471 Mon Sep 17 00:00:00 2001 From: sollyj Date: Tue, 29 Aug 2023 15:26:08 +0900 Subject: [PATCH] =?UTF-8?q?=EC=A0=95=EC=86=94=EB=A6=AC:=20=ED=96=84?= =?UTF-8?q?=EB=B2=84=EA=B1=B0=20=EB=B6=84=EB=B0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sollyj/aug_5/.DS_Store | Bin 0 -> 6148 bytes .../input.txt" | 2 + ...\352\261\260\353\266\204\353\260\260.java" | 51 ++++++++++++++++++ 3 files changed, 53 insertions(+) create mode 100644 sollyj/aug_5/.DS_Store create mode 100644 "sollyj/aug_5/\355\226\204\353\262\204\352\261\260\353\266\204\353\260\260/input.txt" create mode 100644 "sollyj/aug_5/\355\226\204\353\262\204\352\261\260\353\266\204\353\260\260/\355\226\204\353\262\204\352\261\260\353\266\204\353\260\260.java" diff --git a/sollyj/aug_5/.DS_Store b/sollyj/aug_5/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..35d5f41728c694c7ae22c95d01ad369e8f714348 GIT binary patch literal 6148 zcmeHKJ8Hu~5S>XJFr-oGa!(MF8?238r1k}Z?b6^h?p27KCP%O#m+*P)Hy;8*s7R5< zyn&gwJDR7JUZK&5h%S!1H<3m}rf@^~vM@BeZa%Pw%qS4v$m#Wcf7ovJhs~gNEMeTI zOLywNKhIr{Z;v#Gzg*qMZooVhpaN8Y3Qz$m@FxYV_rj*nfs9mu3Q&Px1?>A!;D$A^ z4fIb3f{y^e3DRy@`z!%0mH^hoHV_$@1{D}o%@IR`j(o|wn%D*gUDQv;eez_@2}S*M zR87cT|81+?4`4S+180yi)eo!OK~%E$|Px)%?KC quyzW9w_~8UV{EJ)&%7w=imh?ICbof2N8af`{tTEdG%E1l3furu4<9A~ literal 0 HcmV?d00001 diff --git "a/sollyj/aug_5/\355\226\204\353\262\204\352\261\260\353\266\204\353\260\260/input.txt" "b/sollyj/aug_5/\355\226\204\353\262\204\352\261\260\353\266\204\353\260\260/input.txt" new file mode 100644 index 0000000..9332e1b --- /dev/null +++ "b/sollyj/aug_5/\355\226\204\353\262\204\352\261\260\353\266\204\353\260\260/input.txt" @@ -0,0 +1,2 @@ +20 2 +HHHHHPPPPPHPHPHPHHHP \ No newline at end of file diff --git "a/sollyj/aug_5/\355\226\204\353\262\204\352\261\260\353\266\204\353\260\260/\355\226\204\353\262\204\352\261\260\353\266\204\353\260\260.java" "b/sollyj/aug_5/\355\226\204\353\262\204\352\261\260\353\266\204\353\260\260/\355\226\204\353\262\204\352\261\260\353\266\204\353\260\260.java" new file mode 100644 index 0000000..a43641d --- /dev/null +++ "b/sollyj/aug_5/\355\226\204\353\262\204\352\261\260\353\266\204\353\260\260/\355\226\204\353\262\204\352\261\260\353\266\204\353\260\260.java" @@ -0,0 +1,51 @@ +package sollyj.aug_5.햄버거분배; + +import java.io.BufferedReader; +import java.io.FileInputStream; +import java.io.InputStreamReader; +import java.util.ArrayList; +import java.util.List; +import java.util.StringTokenizer; + +public class 햄버거분배 { + public static void main(String[] args) { + try { + System.setIn(new FileInputStream("sollyj/aug_5/햄버거분배/input.txt")); + BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + + StringTokenizer st = new StringTokenizer(br.readLine()); + int N = Integer.parseInt(st.nextToken()); + int K = Integer.parseInt(st.nextToken()); + + List table = new ArrayList<>(); + String str = br.readLine(); + for (int i = 0; i < N; i++) { + table.add(str.charAt(i)); + } + + int answer = 0; + + for (int i = 0; i < N; i++) { + // 사람 주변의 거리 K 이하부터 왼쪽부터 탐색할 것이다. + // 왼쪽부터 탐색하는 이유는 그 다음 사람이 햄버거를 먹을 확률을 높이려면 왼쪽부터 해치워야 하기때문 + // 이때 인덱스를 넘어가지 않게 인덱스 유효성 검사 해주기 + if (table.get(i) == 'P') { + int start = Math.max(i - K, 0); + int end = Math.min(i + K, N - 1); + + for (int j = start; j <= end; j++) { + if (table.get(j) == 'H') { + table.set(j, 'h'); // 먹은 햄버거는 소문자로 바꿔준다. + answer++; + break; + } + } + } + } + + System.out.println(answer); + } catch (Exception e) { + System.out.println(e.getLocalizedMessage()); + } + } +}