문제
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
풀이
def solution(n, lost, reserve):
answer = n
# 겹치는 경우
lost_set = set(lost)-set(reserve)
reserve_set = set(reserve)-set(lost)
# 빌려주기
for i in sorted(lost_set):
if i-1 in reserve_set:
reserve_set.remove(i-1)
elif i+1 in reserve_set:
reserve_set.remove(i+1)
else:
answer -= 1
return answer
새로 공부한 점
1. set() 을 이용하여 중복 제거!
2. sort()는 리스트만 정렬가능!!
set도 정렬하려면 sorted()를 이용해서 리스트로 변환해야 한다.
'문제 풀이 > Programmers' 카테고리의 다른 글
[Programmers/Python] Lv1. 개인정보 수집 유효기간 (0) | 2024.09.28 |
---|---|
[Programmers/Python] Lv2. 방문 길이 (0) | 2024.06.27 |
[Programmers/Python] Lv2. 행렬의 곱셈 (0) | 2024.06.27 |
[Programmers/Python] Lv1. 실패율 (0) | 2024.06.10 |
[Programmers/Python] Lv1. 모의고사 (0) | 2024.06.07 |
댓글