코딩테스트(백준 구현(IMPLEMENTATION) (13698번: Hawk Eyes))
문제
야바위를 잘하는 재열이는 축제기간동안 홍문관 앞에 부스를 열어 돈을 벌어보려 한다.
재열이는 컵 네 개를 일렬로 탁자 위에 올려놓고, 가장 왼쪽 컵에 작은 공 하나, 가장 오른쪽 컵에 큰 공 하나를 넣어놓았다. 이제 재열이는 컵 2개의 위치를 바꿔가면서 여러 번 섞을 것이고, 모두 섞은 뒤에 상대방에게 어떤 컵에 공이 들어있는지 말하라고 할 것이다. 컵이 4개가 있을 때, 위치를 바꿀 수 있는 가능한 방법은 아래와 같이 6가지가 있다.
떼돈을 벌기 위해 3개월을 연습한 재열이에게 내기를 이길 수 있는 사람은 거의 없다. 그러나, 마침 엄청난 동체시력의 보유자 영범이 홍문관 앞을 지나고 있었다. 영범은 내기를 제안하고, 아무것도 모르는 재열이는 말없이 컵을 섞기 시작한다. 재열이의 손놀림이 아무리 빠르더라도, 영범이의 동체시력을 속일 수는 없다. 영범이는 동체시력뿐만 아니라, 기억력도 뛰어나서 재열이가 컵을 섞은 순서를 다 기억할 수 있다. 이것을 모르는 재열이의 운명은 당신이 작성할 프로그램에 달려있다.
재열이가 컵을 섞은 방법이 순서대로 주어질 때, 어떤 컵에 작은 공이 있는지, 어떤 컵에 큰 공이 있는지 차례대로 출력하는 프로그램을 작성하시오.
입력
첫째 줄에 재열이가 컵을 섞는 순서가 주어진다. 이 순서는 위 그림에 있는 A, B, C, D, E, F 중 하나이다. 재열이는 컵을 최대 200번 섞는다.
출력
첫 번째 줄에는 작은 공이 있는 위치를, 두 번째 줄에는 큰 공이 있는 위치를 출력한다. 공의 위치는 가장 왼쪽부터 1, 2, 3, 4로 표시한다.
예제 입력 1 복사
AB
예제 출력 1 복사
2
4
나의 풀이:
moves = [i for i in input()] # A, B, C, D, E, F 순서 리스트에 저장
arr = [1, 0, 0, 2] # 1이 작은 공 위치, 2가 큰 공 위치
for i in range(len(moves)):
if moves[i] == 'A':
arr[0], arr[1] = arr[1], arr[0]
elif moves[i] == 'B':
arr[0], arr[2] = arr[2], arr[0]
elif moves[i] == 'C':
arr[0], arr[3] = arr[3], arr[0]
elif moves[i] == 'D':
arr[1], arr[2] = arr[2], arr[1]
elif moves[i] == 'E':
arr[1], arr[3] = arr[3], arr[1]
elif moves[i] == 'F':
arr[2], arr[3] = arr[3], arr[2]
print(arr.index(1)+1)
print(arr.index(2)+1)
다른 사람 풀이:
order = input()
loc_dict = {1:'c1', 2:'c2', 3:'c3', 4:'c4'} # ÄÅ ³× °³ À§Ä¡('c1' : ÀÛÀº °ø, 'c4' : Å« °ø)
for o in order: # 여기서 'ABDCD' 형태로 입력받은 값이 "o" 로 문자 하나 하나 계산이 가능한가??
if o == 'A':
loc_dict[1], loc_dict[2] = loc_dict[2], loc_dict[1]
elif o == 'B':
loc_dict[1], loc_dict[3] = loc_dict[3], loc_dict[1]
elif o == 'C':
loc_dict[1], loc_dict[4] = loc_dict[4], loc_dict[1]
elif o == 'D':
loc_dict[2], loc_dict[3] = loc_dict[3], loc_dict[2]
elif o == 'E':
loc_dict[2], loc_dict[4] = loc_dict[4], loc_dict[2]
else:
loc_dict[3], loc_dict[4] = loc_dict[4], loc_dict[3]
for k,v in loc_dict.items():
if v == 'c1':
print(k)
for k,v in loc_dict.items():
if v == 'c4':
print(k)
TAKEAWAY:
- 맞았다!
느낀점:
Author And Source
이 문제에 관하여(코딩테스트(백준 구현(IMPLEMENTATION) (13698번: Hawk Eyes))), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@oojjww1/코딩테스트백준-구현IMPLEMENTATION-13698번-Hawk-Eyes저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)