[C++] 백준 19941번 풀이 (햄버거 분배)

정민경·2023년 1월 12일
0

baekjoon

목록 보기
14/57
post-thumbnail

- 문제 (19941번) : 햄버거 분배

  • 식탁의 길이와 햄버거를 선택할 수 있는 거리, 햄버거와 사람의 위치가 주어졌을 때 햄버거를 먹을 수 있는 사람의 최대 수를 출력하는 문제.

- 입력 및 출력

[입력]

  • 첫번째 줄에 식탁의 길이 N, 햄버거를 선택할 수 있는 거리 K 입력
  • 두번째 줄에 햄버거와 사람의 위치가 길이 N인 문자열로 입력
    ( 사람 : P , 햄버거 : H )

[출력]

  • 햄버거를 먹을 수 있는 최대 사람의 수 출력

- 문제 풀이

  • 햄버거가 사람의 위치가 저장되어있는 배열을 돌면서 사람이 있는 위치에서
    ± K만큼을 탐색해 햄버거가 있다면 그것을 먹으면 된다.
    ( 한사람이 먹은 햄버거는 사라짐 )

  • 이때 배열을 앞에서부터 순서대로 돌기 때문에 햄버거의 위치를 찾을 때에도 사람을 기준으로 왼쪽부터 차례로 탐색한다.

  • 햄버거의 위치는 사람을 기준으로 +, - K만큼 떨어진 위치부터 탐색하므로 0보다 작거나 N보다 크게 계산될수 있으므로 반드시 조건문으로 처리를 해야한다.

- 최종 코드

0개의 댓글