-
문제
접근법
실제 우리가 아는 탕수육 게임을 프로그래밍을 옮겨 놓은 문제이다!
여담으로, 나는 실제 탕수육 게임을 할 때도 저 방법을 사용해서 규칙을 찾는데 크게 어려움을 겪지는 않았다.
다만 탕수육 게임과는 다른 점이 있었는데 제시되는 글자의 수가 달랐다. 탕수육의 경우에는 탕, 육, 수만 반복하면 되었지만 ABCD와 같은 짝수의 경우 패턴이 변화한다.
수가 변화 함에 따라 패턴은 크게 2가지로 나뉠 수 있는데 나의 경우 짝수와 홀수를 기준으로 문제에 접근을 하였다.
[1] 짝수
짝수의 경우는 크게 어렵지 않다. 자신의 순서를 기준으로 2칸씩 증가 시킨 값만 말하면 된다.
예를 들어보자면, 티스토리라는 제시어가 주어졌을 때 내가 첫 번째 순서인 경우에는 "티" "토" 만 말하면 되고,
두 번째 순서의 경우에는 "스" "리" 만 말하면 된다.
[2] 홀수
홀수는 규칙을 찾는데 꽤 어려웠지만 시간이 오래 걸리지는 않았던 것 같다.
예시를 통해 이를 설명 해보고자 한다.
"카카오페이" 로 예를 들었을 때 내가 먼저 시작하게 된다면 내가 말해야 하는 글자들은 "카" "오" "이" "카" "페" 이다.
탕수육과 비교해보면 패턴이 더욱 명확히 보이게 되는데 그 정답은 바로 처음에는 2칸씩 (카O오O이) 띄어 놓은 값을 출력하고 그 뒤에 (O카O페O) 부분을 더해서 출력 해주면 된다는 것이였다.
코드(정답)
t = int(input())games=[]for _ in range(t):games.append(input())for game in games:if len(game) %2 == 0: #문자열의 길이가 짝수일 때print(game[0::2]) #인덱스가 0인것 부터 2씩 증가하면서 가져온다print(game[1::2]) #인덱스가 1인것 부터 2씩 증가면서 가져온다else:print(game[0::2],game[1::2], sep='') #sep='' 안붙여주면 공백이 출력되기 때문print(game[1::2],game[0::2],sep='')'PS > 백준' 카테고리의 다른 글
[백준_14470] 전자레인지( 구현[Implementation] ) (0) 2021.01.16 [백준_20361] 일우는 야바위꾼 ( 구현 [Implementation] ) (0) 2021.01.16 [백준_1946] 신입사원 (Greedy) (0) 2021.01.05 [백준_1541] 잃어버린 괄호 ( Greedy ) (0) 2021.01.05 [백준_2839] 설탕 배달 ( Greedy ) (0) 2021.01.05