아침 일찍 일어나 7시에 집을 나와 자취방에 왔다. 출근 시간인 지옥철이라 힘들어 죽는 줄 알았다 🥲 오자마자 미리 세워둔 방학 계획대로 코딩테스트 준비를 위해 프로그래머스에서 문제를 하나 풀었다. Level1 인데도 결코 쉽지않다 ㅠㅠ 더 성장해야지... ❗
물론 한 번에 성공하지는 못했다. 규칙 중 하나를 넘겨짚고 내 마음대로 풀었기 때문. 허허
제한사항 중 다음과 같은 규칙이 있었는데 간과했다.
이로써 처음 제출 후 채점 결과는 정확성 65% ... (스크린샷을 찍는다는걸 깜빡했다)
프로그래머스 [체육복] 문제 풀이
def solution(n, lost, reserve):
answer = 0
answer = n-len(lost)
for i in range(0, len(lost)):
for j in range(0, len(reserve)):
if(lost[i]==reserve[j]):
answer+=1
lost[i]=0
reserve[j]=0
break
lost.sort()
reserve.sort()
for i in range(0, len(lost)):
if(lost[i]!=0):
for j in range(0, len(reserve)):
if (reserve[j]==0): continue
elif(reserve[j]==lost[i]-1 or reserve[j]==lost[i]+1):
answer+=1
reserve[j]=0
break
return answer
앞서 간과했던 규칙을 적용하고자 코드를 고쳤다. 다음 글부터는 수정 전 코드와 수정 후 코드를 모두 첨부할 계획이다.
다른 풀이 중에 set 을 사용한 간단한 풀이가 있던데, 기회가 된다면 (일단 오늘 말고) set 을 사용한 다른 풀이를 스스로 생각해보는 시간을 가져야겠다.
안녕 !