반응형
https://www.acmicpc.net/problem/17135
문제 조건에 맞게끔 코딩하면 되는 시뮬레이션 문제. 조건에 맞는 방법을 구현하는 데 삽질을 꽤나 많이 했다.
문제의 조건에서 가장 까다로웠던 부분은 '궁사의 적 공격 조건'이었다.
1. 거리가 D 이하인 적들 중 가장 가까운 적.
2. 가까운 적이 여러 명이면 '가장 왼쪽'의 적을 공격한다.
3. 여러 궁사가 같은 적을 공격할 수 있다.
여기서 '가장 왼쪽'의 적을 선택하는 방법을 구현해보려고
- 궁사의 위치에서 bfs 형태로 가장 가까운 거리에 있는 적을 선택하도록 한다 (실패)
- bfs에서 '다음 탐색지점'활용을 위해 heapq를 써봤다 (실패)
하느라 시간을 많이 썼는데, 조금 더 단순하게 생각할 수 있는 문제였다.
"가장 왼쪽" == x좌표다.
따라서, 궁사가 공격할 수 있는 거리 기준으로 1차 정렬, 같은 거리라면 x값이 작은 순서대로 정렬하면 된다.
반응형
'프로그래밍 > 코딩테스트 문제풀이' 카테고리의 다른 글
[Python] 프로그래머스. 멀리 뛰기 (Level 3) (0) | 2020.01.06 |
---|---|
[Python] 백준 14891. 톱니바퀴 (1) | 2020.01.05 |
[Python] 백준 17070. 파이프 옮기기 1 (0) | 2020.01.03 |
[Python] 백준 1316. 그룹 단어 체커 (0) | 2020.01.02 |
[Python] 프로그래머스. 거스름돈 (Level 3) (1) | 2020.01.01 |