728x90
반응형
1. 문제 설명
2. 풀이과정
해당 문제는 최대로 많은 승리를 하여 최대 승점이 얼마인지 구하는 문제이다.
최대한 많이 승리하려면 작은 숫자를 작은 숫자로 이겨야 한다.
하여 두 팀의 숫자를 오름차순으로 정렬한 뒤, A 팀의 최솟값을 기준으로 B 팀의 숫자를 최솟값부터 비교하며 승리한다면 A 팀의 숫자를 제거하고 이를 B 팀의 마지막 숫자까지 반복하며 승리의 횟수를 계산한다.
B 팀의 숫자가 뒤로 넘어갔다는 의미는 현재 A 팀의 최솟값보다 작거나 같다는 의미이므로 A 팀의 숫자가 제거되고 다음 A 팀의 최솟값을 비교할 때 B 팀의 숫자가 처음부터 비교할 필요가 없어진다.
하여 B 팀의 숫자는 한 번씩만 비교되면 된다.
- 두 숫자 배열을 오름차순으로 정렬한다. A.sort() B.sort()
- B 팀의 출전 순서에 따라 승점이 결정되므로 B 팀의 숫자를 하나씩 불러온다. for i in B
- 만약 불러온 B 팀의 숫자가 남아있는 A 팀의 숫자 중 최솟값보다 크면 if (i > A[0])
- 최소 숫자로 승리할 수 있다. 진 A 팀의 숫자를 제거한다. del A[0]
- 승리하였으므로 승점을 추가한다. answer += 1
반응형
3. 소스코드
def solution(A, B):
answer = 0
A.sort()
B.sort()
for i in B:
if (i > A[0]):
del A[0]
answer += 1
return answer
728x90
반응형
'프로그래머스 > Python' 카테고리의 다른 글
[프로그래머스] 단속카메라 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.10.03 |
---|---|
[프로그래머스] 2개 이하로 다른 비트 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.10.01 |
[프로그래머스] 대충 만든 자판 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.09.29 |
[프로그래머스] 2 x n 타일링 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.09.27 |
[프로그래머스] 문자열 나누기 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.09.23 |
[프로그래머스] 숫자 변환하기 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.09.21 |
[프로그래머스] 완주하지 못한 선수 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.09.19 |
[프로그래머스] 롤케이크 자르기 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.09.17 |