Adventure Time - Finn 3

새소식

알고리즘/백준

[백준]8983 사냥꾼 [Python]

  • -

이 문제는 이분탐색을 이용하여 새의 좌표가 사냥꾼 배열 arr=[1,4,6,9] 에서 잡을 수 있는 거리인지 확인하고 잡을 수 있으면 카운트하는 문제입니다.

 

우선 사냥꾼의 사정거리 L을 이용해서 사냥꾼이 새를 잡을 수 있는 범위를 구합니다. 사정거리의 범위는 L-Y(새의 Y좌표)를 X(새의 X좌표)에서 +, - 했을때가 범위입니다. 

 

예를들어 첫번째 새의 경우 (7,2)니까 사정거리 4일경우 4-2의 값을 X값에 더하고 빼줍니다. 그러면 (5,2) ~ (9,2) 사이의 x좌표값에서는 해당 새를 잡을 수 있게됩니다. 이 부분을 활용해서 반복문으로 새를 호출해서 사냥꾼이 잡을 수 있는 새인지 아닌지 확인합니다.

 

 

이분 탐색과 반복문을 통해서 풀이한 코드입니다.

'알고리즘 > 백준' 카테고리의 다른 글

[백준] 3190 뱀 [Python]  (0) 2023.04.18
[백준]13334 철로 [Python]  (0) 2023.04.18
[백준]2110 공유기 설치 [Python]  (0) 2023.04.17
[백준]2468 안전영역 [Python]  (1) 2023.04.13
[백준]10819 차이를 최대로 [Python]  (0) 2023.04.12
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.