Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- 1차원 DP
- 2차원 dp
- 99클럽
- @BeforeAll
- @BeforeEach
- @Builder
- @Entity
- @GeneratedValue
- @GenericGenerator
- @NoargsConstructor
- @Query
- @Table
- @Transactional
- Actions
- Amazon EFS
- amazon fsx
- Android Studio
- ANSI SQL
- ApplicationEvent
- assertThat
- async/await
- AVG
- AWS
- Azure
- bind
- builder
- button
- c++
- c++ builder
- c03
Archives
- Today
- Total
기록
프로그래머스_요격 시스템 본문
문제
https://school.programmers.co.kr/learn/courses/30/lessons/181188
풀이
- (s, e)를 끝점(e) 기준으로 정렬한다.
- 위치 0.5(shoot = 0.5)인 곳에서 미사일을 발사한다.
- 직전 미사일 발사위치(shoot)와 군사기지(target)의 시작점을 비교한다.
- 직전 미사일 발사위치(shoot) < 군사기지(target)의 시작점
- 군사기지의 종료점-0.5에서 미사일을 발사한다.
- 미사일 발사 지점을 저장한다. (shoot = target[1]-0.5)
- 직전 미사일 발사위치(shoot) < 군사기지(target)의 시작점
- 다음 군사기지로 이동하여 탐색(3~4)한다.
EXAMPLE
기지 정보 정렬
[[1, 4], [4, 5], [3, 7], [4, 8], [5, 12], [11, 13], [10, 14]] |
미사일 발사(shoot=0.5)
직전 미사일 발사위치(shoot=0.5)와 군사기지(1~4)의 시작점을 비교
=> 직전 미사일로 처리되지 않은 기지이므로, 새로운 미사일을 발사해야 한다.
직전 미사일 발사위치(shoot=3.5)와 군사기지(4~5)의 시작점을 비교
=> 직전 미사일로 처리되지 않은 기지이므로, 새로운 미사일을 발사해야 한다.
직전 미사일 발사위치(shoot=4.5)와 군사기지(3~7)의 시작점을 비교 => 직전 미사일로 처리된 기지이므로, 무시한다.
직전 미사일 발사위치(shoot=4.5)와 군사기지(4~8)의 시작점을 비교 => 직전 미사일로 처리된 기지이므로, 무시한다.
직전 미사일 발사위치(shoot=4.5)와 군사기지(5~12)의 시작점을 비교
=> 직전 미사일로 처리되지 않은 기지이므로, 새로운 미사일을 발사해야 한다.
직전 미사일 발사위치(shoot=11.5)와 군사기지(11~13)의 시작점을 비교 => 직전 미사일로 처리된 기지이므로, 무시한다.
직전 미사일 발사위치(shoot=11.5)와 군사기지(10~8)의 시작점을 비교 => 직전 미사일로 처리된 기지이므로, 무시한다.
코드
def solution(targets):
targets.sort(key = lambda it : it[::-1])
ans, shoot = 0, -0.5
for s, e in targets :
if shoot < s : # Was this base intercepted by a previously launched missile??
ans += 1 # shoot
shoot = e-0.5 # save shooting location
return ans
'코딩테스트 > python' 카테고리의 다른 글
프로그래머스_두 큐 합 같게 만들기 (0) | 2023.06.26 |
---|---|
백준_1509_팰린드롬 분할 (0) | 2022.10.10 |
백준_1647_도시 분할 계획 (0) | 2022.10.06 |
백준_9466_텀 프로젝트 (0) | 2022.10.05 |
백준_16724_피리 부는 사나이 (0) | 2022.10.04 |
Comments