개발자 톡
커뮤니티 톡
자유 주제
테스크케이스 부분 실패
- 등록일
- 2022-04-13 11:56:24
- 조회수
- 866
- 작성자
- msk0607
안녕하세요, 아래 코드로 답안 제출 시 Test Case #1 ~ #7 까지 오답으로 나오는데요.
혹시 테스트케이스는 알 수 없나요?
확인 부탁드립니다.
import sys
alpha = []
key_tbl = []
msg_tbl = []
tmp = ''
answer = ''
# 5x5 key table 작성
for i in range(65, 91):
if chr(i) != 'J' :
alpha.append(chr(i))
msg = input()
key = input()
for i in range (len(key)):
if key[i] in alpha:
key_tbl.append(key[i])
alpha.remove(key[i])
key_tbl += alpha
for i in range (len(msg)):
if i == 0:
tmp = msg[i]
elif i >= len(msg)-1:
if tmp == '':
msg_tbl.append(msg[i]+'X')
elif tmp == msg[i]:
if tmp == 'X':
msg_tbl.append(tmp+'Q')
else:
msg_tbl.append(tmp+'X')
msg_tbl.append(msg[i]+'X')
else:
msg_tbl.append(tmp+msg[i])
# i > 0이고 메시지의 끝이 아닐때
else:
# 같은 문자가 연속이 아닐때
if tmp != msg[i]:
# 2글자씩 msg_tbl에 추가
if len(tmp) == 1:
msg_tbl.append(tmp+msg[i])
tmp = ''
else:
tmp = msg[i]
# 같은 문자가 연속이면..이땐 len(tmp)가 1
else:
# X가 연속
if msg[i] == 'X':
msg_tbl.append(tmp+'Q')
# X가 아닌 다른 문자가 연속
else:
msg_tbl.append(tmp+'X')
tmp = msg[i]
for i in range (len(msg_tbl)):
idx1 = key_tbl.index(msg_tbl[i][0])
idx2 = key_tbl.index(msg_tbl[i][1])
if idx1 // 5 == idx2 // 5:
answer += key_tbl[(idx1//5)*5 + (((idx1%5)+1)%5)]
answer += key_tbl[(idx2//5)*5 + (((idx2%5)+1)%5)]
elif idx1 % 5 == idx2 % 5:
answer += key_tbl[(idx1 + 5) % 25]
answer += key_tbl[(idx2 + 5) % 25]
else:
answer += key_tbl[((idx1//5)*5) + (idx2 % 5)]
answer += key_tbl[((idx2//5)*5) + (idx1 % 5)]
print(answer)
#python
#플레이페어