728x90
반응형
BaekJoon 백준 14696 딱지놀이 문제는 두 어린이 A, B가 처음에 여러 장의 딱지를 가지고 있고, 매 라운드마다 각자 자신이 가진 딱지 중 하나를 낸다. 라운드별로 두 어린이가 낸 딱지 중 어느 쪽이 더 강력한 것인지 구하는 문제이다. 난이도는 Bronze 1이다.
BaekJoon 14696 딱지놀이 문제 정보
출처
- https://www.acmicpc.net/problem/14696
알고리즘 분류
- 구현
난이도
- 브론즈 1 / Bronze 1
딱지놀이 문제 요약
- 두 어린이 A, B가 딱지놀이를 한다. 딱지놀이 규칙은 다음과 같다. 두 어린이는 처음에 여러 장의 딱지를 가지고 있고, 매 라운드마다 각자 자신이 가진 딱지 중 하나를 낸다.
- 딱지에는 별(★), 동그라미(●), 네모(■), 세모(▲), 네 가지 모양 중 하나 이상의 모양이 표시되어 있다. 두 어린이가 낸 딱지 중 어느 쪽이 더 강력한 것인지는 다음 규칙을 따른다.
- 만약 두 딱지의 별의 개수가 다르다면, 별이 많은 쪽의 딱지가 이긴다.
- 별의 개수가 같고 동그라미의 개수가 다르다면, 동그라미가 많은 쪽의 딱지가 이긴다.
- 별, 동그라미의 개수가 각각 같고 네모의 개수가 다르다면, 네모가 많은 쪽의 딱지가 이긴다.
- 별, 동그라미, 네모의 개수가 각각 같고 세모의 개수가 다르다면, 세모가 많은 쪽의 딱지가 이긴다.
- 별, 동그라미, 네모, 세모의 개수가 각각 모두 같다면 무승부이다.
- 별, 동그라미, 네모, 세모를 각각 숫자 4, 3, 2, 1로 표현한다.
- 라운드의 수 N과 두 어린이가 순서대로 내는 딱지의 정보가 주어졌을 때, 각 라운드별로 딱지놀이의 결과를 구하여 출력한다. (1 <=N <=1,000)
- 결과는 A가 승자라면 A, B가 승자라면 B, 무승부라면 D이다.
문제 풀이 과정
- a와 b가 낸 딱지의 모양을 숫자로 리스트에 저장한다.
- 낸 딱지의 모양들 중 점수가 가장 큰 모양이 1) 다르다면 더 큰 모양을 가진 사람이 이긴다.
- 2) 같다면 개수를 비교해야 하므로 비교할 모양을 파라미터로 갖는 round 함수를 호출한다.
- 비교할 모양의 개수가 1) 같다면 다음으로 점수가 큰 모양을 비교하기 위해 round 함수를 다시 호출하고, 비교한 모양이 세모라면 비긴 것이므로 D를 return 한다.
- 2) 다르면 개수가 더 많은 사람을 return 한다.
- 각 라운드별로 딱지놀이의 결과를 출력한다.
코드 및 설명
def round(maxShape):
# 비교할 모양의 개수
a_max_num, b_max_num = a[1:].count(maxShape), b[1:].count(maxShape)
# 개수가 같으면
if a_max_num == b_max_num:
# 세모까지 개수가 같으면 비김
if maxShape == 0:
return 'D'
# 다음으로 점수가 큰 모양 비교
else:
return round(maxShape - 1)
# 개수가 다르면
elif a_max_num > b_max_num:
return 'A'
else:
return 'B'
roundNum = int(input())
for _ in range(roundNum):
a = list(map(int, input().split()))
b = list(map(int, input().split()))
# 낸 딱지 중에 점수가 제일 큰 모양
maxA, maxB = max(a[1:]), max(b[1:])
# 점수가 제일 큰 모양이 다를 때
if maxA != maxB:
if maxA > maxB:
print('A')
else:
print('B')
# 점수가 제일 큰 모양이 같을 때
else:
print(round(maxA))
BaekJoon 백준 14696 딱지놀이 문제를 파이썬 python으로 풀어보았다. 난이도는 Bronze 브론즈 1이다.
728x90
반응형
'Algorithm Problem Solving > BaekJoon' 카테고리의 다른 글
[BaekJoon] 백준 16395 파스칼의 삼각형 (Python / 파이썬) (1) | 2021.08.20 |
---|---|
[BaekJoon] 백준 11586 지영 공주님의 마법 거울 (Python / 파이썬) (0) | 2021.08.20 |
[BaekJoon] 백준 9933 민균이의 비밀번호 (Python / 파이썬) (0) | 2021.08.20 |
[BaekJoon] 백준 1834 나머지와 몫이 같은 수 (Python / 파이썬) (0) | 2021.08.19 |
[BaekJoon] 백준 13301 타일 장식물 (Python / 파이썬) (0) | 2021.08.18 |
댓글