알고리즘 문제 풀기/SWEA
[SWEA 1936] 가위바위보 2가지 풀이
hibscus
2021. 2. 8. 23:59
이렇게 경우의 수가 6가지 밖에 나오지 않는 문제는
그냥 고민도 없이 바로 if A ==1 일때, A==2일때, A == 3일때 해서 풀곤 하는데
조금 더 짧게, 그리고 좀 더 스마트하게 쓸 수 있는 방법을 정리해보았습니다.
A, B = map(int, input().split())
# 비기는 경우는 생각하지 않기 때문에 이렇게도 가능함.
# A가 이기는 경우
if (A == 1 and B == 3) or (A == 2 and B == 1) or (A == 3 and B == 2) :
print('A')
# B가 이기는 경우
else:
print('B')
# 가위, 바위, 보
# 1 2 3
win = [0, 3, 1, 2]
if A == B:
print('비김')
elif win[A] == B:
print('A')
else:
print('B')
win = [0, 3, 1, 2]는
A가 1일때 B가 3이면 이긴다.
A가 2일때 B가 1이면 이긴다.
A가 3일때 B가 2이면 이긴다.
를 리스트로 정렬해 놓은 것입니다.
A를 인덱스 값으로 사용하여 A가 이기는 B의 값을 불러오도록 만드는 것입니다.
SW Expert Academy
SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!
swexpertacademy.com