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
- 금융데이터분석
- 프로그래머스
- 파이썬정렬
- 파이썬
- adx
- 스택
- talib
- 서울디지털인재개발원
- 국내주식마감시황
- 시스템 수준 입출력
- 퀀트매매
- 코스닥
- 인스턴스변수
- 차별화장세
- 파이썬 자료구조
- magic method
- 파이썬 함수
- 파이썬 알고리즘
- LV1
- VariableScope
- 클래스
- unix i/o
- 코스피
- 금융데이터분석가
- pml4
- bigo
- 금융데이터서비스분석가
- 자료구조
- Ta-Lib
- 큐
Archives
- Today
- Total
IT Studying
프로그래머스 완주하지 못한 선수 본문
반응형
https://school.programmers.co.kr/learn/courses/30/lessons/42576
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
def solution(participant, completion):
dict_part = {}
dict_comp = {}
for i in participant:
if i in dict_part:
dict_part[i] += 1
else:
dict_part[i] = 1
for i in completion:
if i in dict_comp:
dict_comp[i] += 1
else:
dict_comp[i] = 1
for key, value in dict_part.items():
try:
if dict_comp[key] != value:
return key
except:
return key
처음에는 리스트를 이용해서 완주한 선수들 리스트를 돌면서 참가 선수 리스트의 선수들을 빼고, 마지막 남은 사람을 return하는 코드를 짯다. 근데, 시간 복잡도가 사실 어마어마하다. 그래서 딕셔너리는 해시를 통해 바로바로 접근이 가능하므로 딕셔너리로 바꾸어서 두 딕셔너리를 비교하는 코드를 짜봤다. 특별한 메소드 이용하지 않고도 충분히 풀 수 있는 문제였다!
반응형
'코딩테스트 > 프로그래머스' 카테고리의 다른 글
배열의 길이를 2의 거듭제곱으로 만들기 (0) | 2023.05.13 |
---|---|
옹알이(1) (0) | 2023.02.20 |
Comments