728x90
반응형
완주하지 못한 선수 (프로그래머스 Lv.1)
https://school.programmers.co.kr/learn/courses/30/lessons/42576
내 코드
처음에는 간단하게 이렇게 짜봤는데 답은 다 맞으나 효율성 테스트문제에서 시간 초과가 떴다.
def solution(participant, completion):
answer = ''
for com in completion:
participant.remove(com)
answer = ''.join(participant)
return answer
remove함수의 문제 인것 같아 아래와 같이 코드를 바꿨더니 성공했다. 시간 초과가 뜰때는 딕셔너리를 먼저 떠올려보기!
def solution(participant, completion):
answer = ''
n_part = {}
for part in participant:
n_part[part] = 0
for part in participant:
n_part[part] += 1
for com in completion:
n_part[com] -= 1
answer = ''.join([k for k, v in n_part.items() if v == 1])
return answer
value값으로 key값 가져오는 양식을 자꾸 까먹어서 검색해오는데 나중에 검색 하지 못할 때더 생길 수 있으니 외워두자!
728x90
반응형
'Python공부 > 프로그래머스' 카테고리의 다른 글
(Python) 콜라 (프로그래머스 Lv.1) (0) | 2023.06.16 |
---|---|
(Python) 푸드 파이트 대회(프로그래머스 Lv.1) /[::-1]활용 (0) | 2023.06.16 |
(Python) K번째수 (프로그래머스 Lv.1)/한줄코딩 (0) | 2023.06.16 |
(Python) 숫자문자열과 영단어 (프로그래머스 Lv.1)/ replace() (0) | 2023.06.16 |
(Python) 비밀지도 (프로그래머스 Lv.1)/.zfill() (0) | 2023.06.16 |