본문 바로가기
알고리즘 백준문제풀기

백준 python 16675번 두개의손 / 16674번 2018년을 되돌아보며 / 9665번 돌게임

by deeplearningkakao 2022. 1. 20.
반응형

Python 16675번 두개의손

 

입력

첫 번째 줄에 차례로 ML, MR, TL, TR이 공백으로 구분되어 주어진다. 차례대로 민성이의 왼손과 오른손, 태경이의 왼손과 오른손의 상태를 나타낸다.

위 4개의 값들은 “S”, “R”, “P” 중 하나이며, 각각 가위, 바위, 보를 의미한다.

출력

첫 번째 줄에 민성이가 무조건 이길 수 있다면 “MS”, 태경이가 무조건 이길 수 있다면 “TK”, 누가 이길 지 확답할 수 없다면 “?”를 쌍따옴표를 제외하고 출력한다.

가위바위보에서 가위는 보를 이기고, 바위는 가위를 이기며, 보는 바위를 이긴다. 같은 손동작끼리는 승부가 나지 않는다 (비긴다).

 

Python
ML, MR, TL, TR = input().split()
 
#다를 경우
if ML != MR and TL != TR:
    print("?")
    
#MS만
elif ML == MR and TL != TR:
    if ML == 'S' and (TL == 'R' or TR == 'R'):
        print("TK")
    elif ML == 'P' and (TL == 'S' or TR == 'S'):
        print("TK")
    elif ML == 'R' and (TL == 'P' or TR == 'P'):
        print("TK")
    else:
        print("?")
 
#TK만 
elif ML != MR and TL == TR:
    if TL == 'S' and (ML == 'R' or MR == 'R'):
        print("MS")
    elif TL == 'P' and (ML == 'S' or MR == 'S'):
        print("MS")
    elif TL == 'R' and (ML == 'P' or MR == 'P'):
        print("MS")
    else:
        print("?")
 
#같을 경우
else:
    if ML == 'S':
        if TL == 'P':
            print("MS")
        if TL == 'S':
            print("?")
        if TL == 'R':
            print("TK")
    if ML == 'R':
        if TL == 'P':
            print("TK")
        if TL == 'S':
            print("MS")
        if TL == 'R':
            print("?")
    if ML == 'P':
        if TL == 'P':
            print("?")
        if TL == 'S':
            print("TK")
        if TL == 'R':
            print("MS")
반응형

 

16674번 2018년을 되돌아보며

입력

첫 번째 줄에 양의 정수 N이 주어진다. (1 ≤ N < 1,000,000,000)

N은 0으로 시작하지 않는다.

출력

첫 번째 줄에 N이 2018과 관련 없는 수이면 0을, 2018과 관련 있는 수이나 밀접한 수가 아니면 1을, 2018과 밀접한 수이나 묶여있는 수가 아니면 2를, 2018과 묶여있는 수이면 8을 출력한다.

 

Python
N = list(map(int, str(input())))
dict_2018 = {2:0, 0:0, 1:0, 8:0} #dict로 인풋 받음
answer = False #0일 경우 탈출문
 
for i in N:
    try:
        dict_2018[i] += 1
    except: #2018이 아닌 다른 수가 있을 경우
        print(0)
        answer = True
        break
        
if answer == False:
    if dict_2018[2] != 0 and dict_2018[0] != 0 and dict_2018[1] != 0 and dict_2018[8] != 0:
        if dict_2018[2] == dict_2018[0] == dict_2018[1] == dict_2018[8]:
            print(8)
        else:
            print(2)
    else:
        print(1)

 

9665번 돌게임

입력

첫째 줄에 N이 주어진다. (1 ≤ N ≤ 1000)

출력

상근이가 게임을 이기면 SK를, 창영이가 게임을 이기면 CY을 출력한다.

 

 

 

 

Python
n = int(input())
if n % 2 == 0:
    print('CY')
else:
    print('SK')
반응형

댓글