반응형
밑의 링크는 백준에서의 문제 링크입니다.
파이썬 코드와 결과입니다.
# readline을 사용하기 위해 import합니다.
from sys import stdin
# 첫째 줄에 정인이가 컵을 섞은 순서를 입력합니다.
# A, B, C로 구성되어 있으며 최대 50번 섞습니다.
# 가장 왼쪽의 \n은 없애줍니다.
shuffle = stdin.readline().rstrip()
# 컵들에서 공의 위치를 저장하는 리스트 변수를 선언합니다.
# 공이 있는 컵은 True로 표시합니다.
ball_state = [True, False, False]
# 컵을 섞는 순서 하나씩 반복해봅니다.
for method in shuffle:
# A 방법대로 컵을 섞는다면
if method == 'A':
# 왼쪽의 컵과 중앙에 있는 컵을 바꿔줍니다.
ball_state[0], ball_state[1] = ball_state[1], ball_state[0]
# B 방법대로 컵을 섞는다면
elif method == 'B':
# 중앙에 있는 컵과 오른쪽에 있는 컵을 바꿔줍니다.
ball_state[1], ball_state[2] = ball_state[2], ball_state[1]
# C 방법대로 컵을 섞는다면
else:
# 왼쪽에 있는 컵과 오른쪽에 있는 컵을 바꿔줍니다.
ball_state[0], ball_state[2] = ball_state[2], ball_state[0]
# 공이 있는 위치를 출력해줍니다.
print(ball_state.index(True) + 1)
제출 후 맞았습니다 결과를 보고나서 다른 사람들의 파이썬 결과들을 보니
제가 제출한 코드의 실행 시간보다 근소하게 빠른 코드들이 매우 많았습니다.
쉬운 문제이지만 다른 사람들의 더 빠른 실행 시간의 코드를 공부해보고 새로 풀어봐야겠습니다.
※ 궁금한 부분, 이상한 점 및 오타는 댓글에 부탁드립니다.
※ 더 효율적이고 빠른 정답을 환영합니다.
반응형
댓글