코딩테스트 연습에 공개된 문제는 (주)그렙이 저작권을 가지고 있습니다.
(지문 하단에 별도 저작권 표시 문제 제외)
코딩테스트 연습 문제의 지문, 테스트케이스, 풀이 등과 같은 정보는 비상업적, 비영리적 용도로 게시할 수 있습니다.
코딩테스트 정보
- 프로그래머스
- python
- level 1
- 점수 : 캡쳐 못함
- 문제 링크
문제
문제 링크 참고
풀이 코드
풀이 코드
1
2
3
4
5
6
7
8
9
10
11
12
13
def solution(n, lost, reserve):
inter = set(lost).intersection(set(reserve))
lost = set(lost) - inter
reserve = set(reserve) - inter
for i in reserve:
if i-1 in lost:
lost.remove(i-1)
elif i+1 in lost:
lost.remove(i+1)
return n - len(lost)
풀이 방식
■■■■ 접근 방식 ■■■■
set 으로 연산이 편하게 접근.
그런데.. set의 사칙연산을 이용하면 굳이 intersection을 구할 필요로 없었다.
1
2
3
4
5
6
7
8
9
10
11
12
def solution(n, lost, reserve):
lost = set(lost) - set(reserve)
reserve = set(reserve) - set(lost)
for i in reserve:
if i-1 in lost:
lost.remove(i-1)
elif i+1 in lost:
lost.remove(i+1)
return n - len(lost)