https://school.programmers.co.kr/learn/courses/30/lessons/12987
코드 (테스트 실패)
def solution(A, B):
answer = 0
A.sort(reverse=True)
B.sort(reverse=True)
for i in range(len(A)):
if A[i] < B[i]:
answer += 1
return answer
재시도 (통과)
def solution(A, B):
answer = 0
A.sort(reverse=True)
B.sort(reverse=True)
i = 0
for a in A:
if a < B[i]:
answer += 1
i += 1
return answer
문제에서 A팀과 B팀의 점수를 내림차순으로 정렬해 비교하였으나, 같은 인덱스끼리만 비교하여 실패하였다.
예를 들어
A팀의 점수가 [7,5,5,1]
B팀의 점수가 [6,6,2,2] 일 때, 같은 인덱스끼리 순차적으로 비교하면 얻을 수 있는 점수는 1점이지만, B팀이 받을 수 있는 최대 점수는 3점이다.
따라서 같은 인덱스끼리 비교하는 것이 아닌, A팀의 점수를 for문으로 돌리고 B팀의 변수 i로 인덱스를 이용해 비교하면 최대 점수를 구할 수 있다.
'코딩테스트 > programmers (python)' 카테고리의 다른 글
Programmers / 3단계 / 스티커 모으기(2) / python (0) | 2024.05.07 |
---|---|
Programmers / 3단계 / 불량 사용자 / python / 2019 카카오 개발자 겨울 인턴십 (0) | 2024.05.04 |
Programmers / 3단계 / 기지국 설치 / python (0) | 2024.04.16 |
Programmers / 2단계 / 전력망을 둘로 나누기 / python (0) | 2024.04.10 |
Programmers / 2단계 / 메뉴 리뉴얼 / python (0) | 2024.04.09 |