728x90
제목
정답
def solution(n, lost, reserve):
answer = 0
more = []
lost.sort()
reserve.sort()
for i in range(0, len(reserve)):
for j in range(0, len(lost)):
if reserve[i] == lost[j]:
lost[j] = -1
reserve[i] = -1
break
for i in range(0, len(reserve)):
more = [reserve[i]-1, reserve[i]+1]
for j in range(0, len(lost)):
if more[0] == lost[j]:
lost[j] = -1
reserve[i] = -1
break
elif more[1] == lost[j]:
lost[j] = -1
reserve[i] = -1
break
answer = n - len(lost) + lost.count(-1)
print(lost)
return answer
우선 체육복이 2개 이지만 도난당하여 다른 학생에게 빌려줄 수 없는 학생부터 제외시켜주었습니다.
그 다음에 for문을 통하여 reserve에 있는 학생이 빌려줄 수 있는 학생이 lost에 있으면 둘다 -1을 해서 중복을 막아주었고
마지막에는 전체 학생에서 lost 학생을 빼고 reserve 학생이 빌려준 lost학생을 더하여 답을 구했습니다.
728x90
'프로그래머스 코딩테스트 > Python' 카테고리의 다른 글
[프로그래머스] 문자열 나누기 Python (0) | 2024.07.05 |
---|---|
[프로그래머스] 숫자 짝꿍 Python (0) | 2024.07.05 |
[프로그래머스] 옹알이 (2) Python (1) | 2024.07.02 |
[프로그래머스]로또의 최고 순위와 최저 순위 Python (0) | 2024.07.02 |
프로그래머스 덧칠하기 Python (0) | 2024.06.30 |