반응형
https://school.programmers.co.kr/learn/courses/30/lessons/42862
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
# 포인트
1. 반복문 동안 remove() 해야 하므로, 복사본을 만들어 그것을 보면서 remove()
2. lost를 기준으로 reseve에서 찾아 lost를 제거하면, [1,3], [2]와 같이 남은 여분이 잃어버린 학생 2명 모두를 지원해주는 경우가 생길수도 있기 때문에 reserve에서도 지워줘야 한다.
def solution(n, lost, reserve):
lost.sort()
reserve.sort()
for i in lost[:] : # 복사본으로 내용 확인하면서 remove()하기
if i in reserve :
lost.remove(i)
reserve.remove(i)
for i in lost[:]:
if i-1 in reserve :
lost.remove(i)
reserve.remove(i-1)
elif i+1 in reserve :
lost.remove(i)
reserve.remove(i+1)
return n-len(lost)
반응형
'프로그래밍 > 알고리즘 & 자료구조' 카테고리의 다른 글
백준 1463 : 1로 만들기 with 파이썬 / DP (0) | 2024.02.17 |
---|---|
백준 9095 : 1, 2, 3 더하기 / DP (0) | 2024.02.16 |
[프로그래머스] 네트워크 with 파이썬 (0) | 2024.02.15 |
백준 2110 : 공유기 설치 with 파이썬 (1) | 2024.02.13 |
프로그래머스 입국심사 with 파이썬 (1) | 2024.02.12 |
댓글