https://www.acmicpc.net/problem/4378
4378번: 트ㅏㅊ;
입력은 여러 줄로 이루어진다. 각 줄은 숫자나 공백, 알파벳 대문자, 위의 키보드에 표시되어 있는 문장 부호로 이루어져 있다. Q, A, Z나 `(back-quote), 단어로 이루어진 키(Tab, BackSp, Control 등)는
www.acmicpc.net
코드
import sys
key_board = '`1234567890-=QWERTYUIOP[]\\ASDFGHJKL;\'ZXCVBNM,./'
def error_fix(letter):
temp_idx = key_board.index(letter)
return key_board[temp_idx-1]
while 1:
error_key = []
error_key = sys.stdin.readline().rsplit()
if len(error_key) == 0:
break
ans_word = ''
ans_list = []
for word in error_key:
word_list = list(word)
for i in range(len(word)):
word_list[i] = error_fix(word_list[i])
ans_word = ''.join(word_list)
ans_list.append(ans_word)
ans_str = ' '.join(ans_list)
print(ans_str)
제일 처음 짠 코드입니다. key_board에서 해당 단어의 인덱스를 찾아 1을 뺀 인덱스 값에 해당하는 key_board 리스트 요소를 찾는 게 큰 틀입니다. 그런데 출력형식이 잘못되었다고 계속 뜨더라고요.
그래서 하는 수 없이 다른 분의 코드로 돌려보았는데, 그것도 출력형식이 잘못 되었다고 하는겁니다... 분명 맞았다고 하셨는데.... 진짜 말도 안 되서 그냥 올리는 걸로.. 하겠습니다....
진짜 정답은 다른 분의 코드로 확인 하시길....
후기
출력 예시가 너무 적어서 아쉬운 문제입니다. 여러 문장을 받아야 한다는 것도 여러번 돌리다가 알게 되었습니다. 출력 예시가 많았다면 출력형식에 뭐가 잘못되었는지도 알기 쉬웠을텐데..
혹시 제 코드에서 뭐가 출력형식에 맞지 않은지 알 것 같은 분은 댓글로 알려주신다면 감사하겠습니다.
'코딩테스트' 카테고리의 다른 글
[Python] 백준 2839번 - '설탕 배달' 풀이 (0) | 2023.01.11 |
---|---|
[Python] 백준 1316번 - '그룹 단어 체커' 풀이 (0) | 2023.01.10 |
[Python] 백준 26595번 - '전투의 신' 풀이 (1) | 2023.01.08 |
[Python] 백준 1181번 : 단어정렬 풀이 (0) | 2023.01.04 |
[Python] 백준 1312번 풀이 (0) | 2023.01.03 |