코딩테스트 & 문제 풀이

[Python]백준_14696 : 딱지놀이

2023. 11. 5. 00:16

2022년 12월 10일에 작성됨

 

https://www.acmicpc.net/problem/14696

 

14696번: 딱지놀이

표준 입력으로 다음 정보가 주어진다. 첫 번째 줄에는 딱지놀이의 총 라운드 수를 나타내는 자연수 N이 주어진다. N 은 1 이상 1,000 이하이다. 다음 줄에는 라운드 1에서 어린이 A가 내는 딱지에 나

www.acmicpc.net

 

 

문제 분석

4, 3, 2, 1이 각각 몇 번 입력되었는지 세어주고, 세어준 값을 순서대로 비교하여 결과에 따라 A, B, D 중 하나로 출력해준다.

 

 

소스 코드 (⭕)

N = int(input())
hi = []

# 총 라운드 수 N만큼 반복
for i in range(N):
    # A와 B를 map함수를 써서 int형, 공백 기준, 맨 앞 숫자 재외하고 입력 받기
    A = list(map(int, input().split()))[1:]
    B = list(map(int, input().split()))[1:]

    # 별4, 동그라미3, 네모2, 세모1 이므로 각각 들어있는 개수를 세어 리스트에 넣음
    list_A = [A.count(4), A.count(3), A.count(2), A.count(1)]
    list_B = [B.count(4), B.count(3), B.count(2), B.count(1)]

    # list의 인덱스 만큼 0에서 3까지 반복해서 더 큰 값인 승자를 hi 리스트에 추가
    for j in range(0, 4):               
        if (list_A[j] > list_B[j]):
            hi.append("A")
            break
        elif (list_A[j] < list_B[j]):
            hi.append("B")
            break
        elif j == 3:
            hi.append("D")
            break
    # 인덱스가 0부터 2까지 반복하고도 3에서도 마지막까지 크기가 같으면
    # 이 라운드의 A와 B의 승패는 무승부로 D를 hi 리스트에 추가해준다

for k in hi:
    print(k)             # hi 리스트 안에 있는 k 출력

 

코드 분석

별, 동그라미, 네모, 세모는 각각 4, 3, 2, 1이다.

두 어린이 A와 B의 리스트를 만들어 한 라운드에 4, 3, 2, 1이 몇 개인지 세어주고 리스트에 차례대로 넣는다.

A와 B의 리스트의 구성은 아래와 같이 되어있다.

인덱스 0 : 별(4)의 개수

인덱스 1: 동그라미(3)의 개수

인덱스 2: 네모(2)의 개수

인덱스 3: 세모(1)의 개수

별, 동그라미, 네모, 세모 순으로 승패의 우선순위를 갖기 때문에

for문으로 인덱스 0부터 3까지 요소 값을 비교해보고, 큰 값의 어린이를 승으로 하여 hi 리스트에 추가한다.

만약 별, 동그라미, 네모, 세모까지 개수가 모두 같으면, D를 추가한다.

(인덱스가 3까지 와서도 A, B 리스트의 값이 같다면 D를 추가하는거니까 j==3인 경우만 해당)

 

 

 

end

리스트와 count 함수로 쉽게 풀 수 있었다!

 

 

 

'코딩테스트 & 문제 풀이' 카테고리의 다른 글

[Python]백준_2057 : 팩토리얼 분해  (1) 2023.11.06
[Python]백준_1431 : 시리얼 번호  (0) 2023.11.05
[Python]백준_14425 : 문자열 집합  (0) 2023.11.04
[Python]백준_1269 : 대칭 차집합  (2) 2023.11.04
[Python]백준_9733 : 꿀벌  (1) 2023.11.03
  1. 문제 분석
  2. 소스 코드 (⭕)
  3. 코드 분석
  4. end
'코딩테스트 & 문제 풀이' 카테고리의 다른 글
  • [Python]백준_2057 : 팩토리얼 분해
  • [Python]백준_1431 : 시리얼 번호
  • [Python]백준_14425 : 문자열 집합
  • [Python]백준_1269 : 대칭 차집합
Hicecream
Hicecream
Hicecream
Hicecream
Hicecream
전체
오늘
어제
  • 분류 전체보기 (203)
    • 코딩테스트 & 문제 풀이 (159)
    • 동아리 활동 (8)
    • 외부 활동 (0)
    • 대학 과제 (3)
    • Git & Git Hub (5)
    • 코딩 프로젝트 (4)
    • 공부 메모 (18)
    • 일상 (2)
    • 참고사항 (2)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • Code up
  • Java
  • LV1
  • C
  • Bronze 1
  • 문자열
  • 정렬
  • Bronze 3
  • Bronze 2
  • Silver 4
  • BOJ
  • 사칙연산
  • python
  • Bronze 5
  • 구현
  • C언어 기초 100제
  • Silver 5
  • programmers
  • 수학
  • Bronze 4

최근 댓글

최근 글

hELLO · Designed By 정상우.
Hicecream
[Python]백준_14696 : 딱지놀이
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.