반응형
250x250
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
Tags
- albert
- SKT
- 한번에 끝내는 Java/Spring 웹 개발 마스터 초격차 패키지
- 패스트캠퍼스후기
- AI
- 한번에 끝내는 Java/Spring 웹 개발 마스터 초격차 패키지 Online
- 직장인인강
- 패캠챌린지
- R
- 한번에끝내는Java/Spring웹개발마스터초격차패키지
- 패스트캠퍼스
- 한번에 끝내는 Java/Spring 웹 개발 마스터 초격차 패키지 Online.
- 직장인자기계발
- 알버트
Archives
- Today
- Total
제주 탈출 일지
[Python3] 프로그래머스 레벨 1 - 완주하지 못한 선수 본문
728x90
반응형
처음 생각한 코드.
def solution(participant, completion):
answer = ''
#participant 마라톤 참여 선수
#completion 마라톤 완주 선수
#완주하지 못한 선수는 한 명.
for i in completion:
if i in participant:
participant[participant.index(i)] = ''
for i in participant:
answer += i
return answer
정확도는 다 맞았으나, 효율성 테스트에서 모두 탈락.
index 연산에서 하나씩 찾는 것이 굉장히 오래 걸릴 것이라고 생각함.
바로 딕셔너리를 원소의 이름 : 원소의 개수로 만듬 -> 구글링으로 찾아냄
# 최종 답안
def solution(participant, completion):
answer = ''
#participant 마라톤 참여 선수
#completion 마라톤 완주 선수
#완주하지 못한 선수는 한 명.
part_dic = {}
comp_dic = {}
for i in participant:
try : part_dic[i] += 1
except : part_dic[i] = 1
for i in completion:
try : comp_dic[i] += 1
except : comp_dic[i] = 1
for i in comp_dic:
part_dic[i] = part_dic[i] - comp_dic[i]
for i in part_dic:
if part_dic[i] >= 1:
answer += i
break
return answer
그리고 completion과 participant의 원소의 갯수를 키값에 따라 뺌.
완주하지 못한 선수는 한명이기 때문에 1개 이상 남아 있는 participant의 원소는 완주하지 못한 선수. 바로 break.
다 풀고 다른사람의 풀이를 봤는데 collections 라이브러리의 counter를 사용해서 작성함..
범접하지 못할 경이로움을 느낌.. ㄷㄷ
레벨 1도 어려웠다ㅠㅠ
728x90
반응형
'코딩 테스트' 카테고리의 다른 글
[Python3] 프로그래머스 레벨 2 - 위장 (0) | 2021.06.07 |
---|---|
[Python3] 프로그래머스 레벨 2 - 전화번호 목록 (0) | 2021.06.06 |
[Python3] 프로그래머스 레벨 3 - 네트워크 (0) | 2021.04.27 |
[Python3]프로그래머스 레벨 2 - 타겟넘버 (0) | 2021.04.26 |
코딩테스트 푼 문제들 올려놓은 github... (0) | 2021.04.13 |
Comments