알고리즘/구름 edu

[구름LEVEL 유형 트레이닝 / 구현] 딱지놀이 (python)

난감 2024. 6. 13. 11:36
728x90

풀이

round = int(input())
for r in range(round):
	a = list(map(int, input().split()))
	b = list(map(int, input().split()))
	a_cnt = [0, 0, 0, 0, 0]
	b_cnt = [0, 0, 0, 0, 0]
	for i in range(a[0]):
		a_cnt[a[i + 1]] += 1
	for i in range(b[0]):
		b_cnt[b[i + 1]] += 1
		
	if a_cnt[4] == b_cnt[4]:
		if a_cnt[3] == b_cnt[3]:
			if a_cnt[2] == b_cnt[2]:
				if a_cnt[1] == b_cnt[1]:
					print("D") #무승부
				elif a_cnt[1] > b_cnt[1]:
					print("A")
				else:
					print("B")
			elif a_cnt[2] > b_cnt[2]:
				print("A")
			else:
				print("B")
		elif a_cnt[3] > b_cnt[3]:
			print("A")
		else:
			print("B")
	elif a_cnt[4] > b_cnt[4]:
		print("A")
	else:
		print("B")
		
print()

입력은 첫째줄에 라운드 수 N이 주어지고, 아래로 2N개의 줄이 주어진다. 2N개의 줄에서는 a와 b의 딱지 모양을 나타내고, 첫번째줄이 a, 두번째줄이 b의 딱지를 나타낸다.

예를 들어, 5 4 4 3 2 1 이라고 주어지면 젤 첫번째 5는 딱지 내에 모양의 개수가 5가지 있다는 의미이고, 그 뒤로 4 4 3 2 1이 이어지는데, 이는 4모양(별)이 2개, 3모양(원)이 1개, 2모양(네모) 1개, 1모양(세모) 1개임을 의미한다.

각 모양은 a_cnt, b_cnt의 인덱스로 설정했고, 그 안에서 횟수를 카운트했다.

 

출력은 마지막에 한 줄이 띄워져있어야 정답으로 인정돼서 round를 도는 for문 종료 이후 print()를 사용해 한 줄 띄웠다.

반응형