๋ฐ์ํ
์ผ๋จ P๋ฅผ ๋จผ์ ์ฐพ๊ณ
P์ -K ~ +K ์ค์ H๊ฐ ์๋์ง ํ์ธ
* ๋ง์ฝ P๊ฐ ๋งจ ์์ด๋ ๋งจ ๋ค์ ์์นํด์๋ค๋ฉด
-K ~ +K ๊ทธ๋๋ก ๊ฒ์ํ๋ฉด ์๋ ์ธ๋ฑ์ค๊ฐ ์กฐํ๋๋ค
๋ฐ๋ผ์ start์ end๋ณ์๋ฅผ ์ ์ธํด์
p์ ์ธ๋ฑ์ค -K ํ์ ๋ 0 ์ดํ์ด๋ฉด start๋ ๋ฌด์กฐ๊ฑด 0์ผ๋ก ๊ณ ์ ,
P์ ์ธ๋ฑ์ค +K ํ์ ๋ N ์ด์์ด๋ฉด end๋ ๋ฌด์กฐ๊ฑด N-1๋ก ๊ณ ์ ํ ๋ค์
start์ end ์ฌ์ด์์ H๋ฅผ ์ฐพ๋๋ค!
๋, ์ด๋ฏธ ๋จน์ ํ๋ฒ๊ฑฐ๋ ์นด์ดํธํ์ง ์์ผ๋ ์์ ๊ธ์๋ฅผ ๋ณ๊ฒฝํด์ค๋ค
import java.io.ByteArrayInputStream;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.Scanner;
class Hamburger {
int N=0;
int K=0;
char[] arr;
int result=0;
void scan_input(String inputed){
InputStream in = new ByteArrayInputStream(inputed.getBytes());
System.setIn(in);
}
void scan(){
Scanner scan = new Scanner(System.in);
N = scan.nextInt();
K = scan.nextInt();
arr = new char[N];
arr = scan.next().toCharArray();
scan.close();
}
void process(){
//P ์ข์ฐ๋ก K๋งํผ H๊ฐ ์์ผ๋ฉด ๋จน์ ์ ์์
//์ด๋ฏธ ๋จน์ ํ๋ฒ๊ฑฐ๋ ์นด์ดํธ ์ํจ => ๋จน์ ํ๋ฒ๊ฑฐ๋ ๊ธ์๋ณ๊ฒฝ
for (int i = 0; i < arr.length; i++) {
if(arr[i] == 'P'){
//P ์์ -K~+Kํ์ ๋ ์ธ๋ฑ์ค๊ฐ ์๋ ๊ฒฝ์ฐ start, end์ง์ ์ค์
int start = i-K;
int end = i+K;
if (start <= 0) {
start = 0;
}
if (end >= N){
end = N-1;
}
//System.out.println("i="+i+", start="+start+", end="+end);
//P์ -K~+K๊น์ง ์ดํด๋ณด๊ธฐ
for (int j = start; j <= end; j++) {
if(arr[j] == 'H'){
result++;
arr[j] = '_';
break;
}
}
//System.out.print(arr);
//System.out.println(" "+result);
}
}
System.out.println(result);
}
}
public class Main {
public static void main(String[] args) {
Hamburger ham = new Hamburger();
ham.scan();
ham.process();
}
}
@Test
void test1() {
Hamburger ham = new Hamburger();
ham.scan_input(
"20 1\n" +
"HHPHPPHHPPHPPPHPHPHP"
);
ham.scan();
ham.process();
}
@Test
void test2() {
Hamburger ham = new Hamburger();
ham.scan_input(
"20 2\n" +
"HHHHHPPPPPHPHPHPHHHP"
);
ham.scan();
ham.process();
}
#๋ฐฑ์ค #๋ฐฑ์ค๋ฌธ์ ํ์ด #์ฝ๋ฉํ ์คํธ #๋ฐฑ์ค19941๋ฒ
๋ฐ์ํ
'๐ฏ Coding Test' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๋ฐฑ์ค 1026๋ฒ : ๋ณด๋ฌผ (0) | 2021.10.27 |
---|---|
๋ฐฑ์ค 1946๋ฒ : ์ ์ ์ฌ์ (0) | 2021.10.26 |
๋ฐฑ์ค 2217๋ฒ : ๋กํ (์๊ฐ์ด๊ณผ ํด๊ฒฐ๊ณผ์ ) (0) | 2021.10.25 |
๋ฐฑ์ค 2839๋ฒ : ์คํ ๋ฐฐ๋ฌ (2) | 2021.10.23 |
๋ฐฑ์ค 9009๋ฒ : ํผ๋ณด๋์น (0) | 2021.10.20 |