728x90
SMALL
import sys; input=sys.stdin.readline
def compare(A, B, value):
if A.count(value) != B.count(value):
return 'A' if A.count(value) > B.count(value) else 'B'
return None
for _ in range(int(input())):
A = list(map(int, input().split()))[1:]
B = list(map(int, input().split()))[1:]
result = None
for value in [4, 3, 2, 1]:
result = compare(A, B, value)
if result:
break
print(result or 'D')
- 단순 구현 문제입니다.
- 중복되는 if-elif 구문을 함수로 정리하여 리팩토링하였습니다.
- 그러나, 이중 반복문이 생기는 덕에 시간 복잡도는 조금 증가한 듯 합니다.
- Counter를 사용해서 풀면 count() 함수 호출 횟수를 줄일 수 있어 개선이 가능합니다!
728x90
LIST
'알고리즘 문제 > 랜덤 마라톤 (solved.ac)' 카테고리의 다른 글
🥈 19621번: 회의실 배정 2 (0) | 2024.06.29 |
---|---|
🥈 4096번: 팰린드로미터 (0) | 2024.06.28 |
🥈 14646번: 욱제는 결정장애야!! (0) | 2024.06.27 |
🥈 11931번: 수 정렬하기 4 (2) | 2024.06.27 |
🥉 2909번: 캔디 구매 (3) | 2024.06.26 |