프로그래밍/백준

[파이썬(Python)] 백준 2855번 주사위 게임

정정훈훈 2021. 10. 10. 15:19
반응형

 

백준 2855번은 주사위게임 문제입니다.

창영이와 성덕이가 기본점수 100점을 두고 주사위를 던져

주사위 눈이 작은 사람이 큰 사람의 눈만큼 점수를 빼주는 문제입니다.

 

 

 

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

 

10103번: 주사위 게임

첫 라운드는 상덕이의 승리이다. 따라서 창영이는 6점을 잃게 된다. 두 번째 라운드는 두 사람의 숫자가 같기 때문에, 아무도 점수를 잃지 않고 넘어간다. 세 번째 라운드의 승자는 창영이이기

www.acmicpc.net

 

 

<코드>

cy, sd = 100, 100

n = int(input())

import sys

for i in range(n):

    cy_sd = list(map(int, sys.stdin.readline().split()))

    if cy_sd[0] > cy_sd[1]:

        sd -= cy_sd[0]

    elif cy_sd[0] == cy_sd[1]:

        continue

    else:

        cy -= cy_sd[1]

print(cy)

print(sd)

 

 

 

 

(1) cy창영, sd상덕이고, 각각 기본점수 100씩 설정해줍니다.

(2) 테스트 실행 횟수n만큼 입력받고

(3) sys 모듈을 import 받은 후

(4)~(11) 반복문 for문을 이용해서 range(n)만큼(테스트 실행 횟수만큼) 주사위게임을 진행합니다.

(5) 창영이와 상덕이의 주사위 점수를 한 줄에 공백을 기준으로 입력해야하므로

list와 map 함수를 이용하여 입력값을 list 자료형으로 만들어줍니다.

 

split 메서드

 

문자열.split("특정 문자")의 구조로 사용합니다.

문자열의 특정 문자를 기준으로 나눠줍니다.(특정 문자는 삭제됩니다.)

# split(나누다, 분열시키다)

 

 

 

map 함수

map(함수반복 가능한 객체)의 구조로 사용합니다.

 

반복 가능한 객체의 요소들에 함수를 적용하는 역할을 해준다고 이해하면 됩니다.

 

 

-

 

여기서 중요한 건, list()로 한 번 감싸줘야 리스트 자료형으로 바뀔 수 있다는 점입니다.

 

 

 

cy_sd[0]창영이가 던진 주사위의 눈

cy_sd[1]상덕이가 던진 주사위의 눈이 되며

각각의 조건문의 조건에 따라 창영이와 상덕이의 점수를 계산해주면 됩니다.

 

 

 

 

코린이 대학생의 풀이였습니다.

풀이에 오류가 있거나 빈약한 부분이 있다면 얼마든지 댓글 남겨주시기 바랍니다.

 

 

 

 

 

https://like-a-happy-cat.tistory.com/ 

 

키보드 꾹꾹이하는 대학생

 

like-a-happy-cat.tistory.com

 

 

https://blog.naver.com/snake6862

 

정훈 블로그 : 네이버 블로그

하고 싶은 거 다 하고 살기

 

 

 

 

 

반응형