카테고리 없음
[SWEA] (D1) 1936. 1대1 가위바위보 / 파이썬(python)
Dev_Green
2022. 5. 10. 19:53
A와 B가 가위바위보를 하였다.
가위는 1, 바위는 2, 보는 3으로 표현되며 A와 B가 무엇을 냈는지 입력으로 주어진다.
A와 B중에 누가 이겼는지 판별해보자. 단, 비기는 경우는 없다.
[입력]
입력으로 A와 B가 무엇을 냈는지 빈 칸을 사이로 주어진다.
[출력]
A가 이기면 A, B가 이기면 B를 출력한다.
SW Expert Academy
SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!
swexpertacademy.com
문제풀이
두 가지 풀이법이 있다. 직관적인 풀이과 구조적인 풀이.
1. 직관적인 풀이
A가 이기는 경우에 대해 한땀한땀 조건식을 걸어주고 이외의 경우는 모두 B가 이긴 것으로 출력.
* 비기는 경우는 없기 때문에 위와 같이 가능
a, b = map(int, input().split())
if (a == 1 and b == 3) or (a == 2 and b == 1) or (a == 3 and b == 2):
print('A')
else:
print('B')
2. 구조적인 풀이
A가 낸 것을 인덱스로 사용하고 B가 낸 것을 리스트의 요소로 본다.
list_game[0]을 0으로 둔 것은 A가 가지는 값이 1부터 이기 때문에 인덱스 0의 자리를 임의로 채워준 것.
고로 0이 아닌(1, 2, 3 도 아닌) 다른 수가 와도 무방하다.
a, b = map(int, input().split())
list_game = [0, 3, 1, 2]
if list_game[a] == b:
print('A')
else:
print('B')