문제 :
코딩테스트 연습 - 체육복
점심시간에 도둑이 들어, 일부 학생이 체육복을 도난당했습니다. 다행히 여벌 체육복이 있는 학생이 이들에게 체육복을 빌려주려 합니다. 학생들의 번호는 체격 순으로 매겨져 있어, 바로 앞번
programmers.co.kr
Solution
import copy
def solution(n, lost, reserve):
answer = 0
lost.sort()
reserve.sort()
for x in copy.deepcopy(lost):
for y in copy.deepcopy(reserve):
if x==y:
lost.remove(x)
reserve.remove(y)
break
for x in copy.deepcopy(lost):
for y in copy.deepcopy(reserve):
if abs(x-y)==1:
lost.remove(x)
reserve.remove(y)
break
answer=n-len(lost)
return answer
오늘 출근길에 푼 문제,,
list를 remove하면서 for문을 돌렸더니 제대로 for문이 돌지 않았다.
copy 라이브러리의 deepcopy를 이용했더니 해결,,
계속 75점 맞다가 lost와 reserve 학생이 같은 경우를 먼저 제거해주어야 한다는 걸 알게 되었다..!...!!!
Level 1 따린데 자존감 내려간다 따흐흑
반응형
'Problem Solving > Programmers' 카테고리의 다른 글
SQL (Level 4) : 입양 시각 구하기(2) - Group by, with Recursive, HOUR(datetime) (0) | 2021.07.09 |
---|---|
SQL (Level 3) 헤비 유저가 소유한 장소 : 2021 Dev-Matching 웹 백엔드 개발자(상반기) - Group by, Having, inner join (0) | 2021.07.09 |
완전탐색 (Level 1) : 모의고사 (Python) (0) | 2021.05.10 |
정렬 (Level 1) : k번째 수 (Python) (0) | 2021.05.10 |
스택/큐 (Level 2) : 주식가격 (Python) (0) | 2021.05.09 |