이 문제를 풀면서 정말 많은 시도를 했던 문제였다...
처음에는 14번부터 테케가 통과가 안되더니
다시 수정후, 17번 테케만 유독 안되었다...
그렇게 방법을 찾던 중, 질문하기에 누군가가 17번 테케를 남겨놓은 댓글을 보았고,
해당 테케를 추가했더니 딱 그 테케에서 오류가 났다!
이 부분에 대한 원인을 찾아서 수정하고 나니 통과할 수 있었다. 후후....
혹시나 저처럼 17번 테스트케이스에서 계속 틀리는 분들을 위하여 포스팅을 남겨놓겠슴다..
문제설명:
제한사항:
나의 풀이:
저는 이렇게 풀었다 정도로만 생각해주세요...ㅎㅎ
def solution(keymap, targets):
answer = [0] * len(targets)
key_count = 0
for word in range(len(targets)):
for i in targets[word]:
key_count = 0
for key in keymap:
if i in key:
if key_count != 0:
if key_count >= key.index(i) + 1:
key_count = key.index(i) + 1
else:
key_count = key.index(i) + 1
else:
continue
if key_count == 0:
answer[word] = -1
else:
if answer[word] != -1:
answer[word] += key_count
return answer
추가한 테스트케이스:
오류났던 원인?
오류가 발생했던 코드는 첫문장 for word in range(len(targets)) -> for word in targets로 설정하여 answer에 index값을 word에 해당하는 인덱스로 지정하여 값을 넣어주었더니
위와 같이 targets의 원소가 같을 경우 항상 첫번째 인덱스에 값을 넣어주어 [27, 0, 0]으로 값이 나와 오류가 났던 것이었다.
반응형
'알고리즘 > 구현' 카테고리의 다른 글
특정 키를 기준으로 배열 오름차순 정렬하기(lambda) - python (0) | 2024.01.22 |
---|---|
파이썬 enumerate() 내장함수 사용 (0) | 2024.01.12 |
lambda를 활용한 sort (Python) (1) | 2024.01.02 |
시간 복잡도를 줄이기 위한 소수 구하기, 약수 구하기 (Python) (0) | 2023.12.31 |
백준 1417 국회의원 선거 (Python3) (1) | 2023.12.12 |