-
[해시] 완주하지 못한 선수 / 전화번호 목록 / 위장알고리즘/프로그래머스 2021. 9. 4. 15:56
https://programmers.co.kr/learn/courses/30/lessons/42576
코딩테스트 연습 - 완주하지 못한 선수
수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수
programmers.co.kr
def solution(participant, completion): dic = {} for i in participant: dic.setdefault(i, 0) dic[i] += 1 for i in completion: dic[i] -= 1 for i in dic: if dic[i]==1: return i
https://programmers.co.kr/learn/courses/30/lessons/42577
코딩테스트 연습 - 전화번호 목록
전화번호부에 적힌 전화번호 중, 한 번호가 다른 번호의 접두어인 경우가 있는지 확인하려 합니다. 전화번호가 다음과 같을 경우, 구조대 전화번호는 영석이의 전화번호의 접두사입니다. 구조
programmers.co.kr
- sorted함수를 사용하면, 조건과 같이 한번에 정렬가능하다.
def solution(phone_book): phone_book = sorted(phone_book) for i in range(len(phone_book)-1): if phone_book[i+1].startswith(phone_book[i]): return False return True
https://programmers.co.kr/learn/courses/30/lessons/42578
코딩테스트 연습 - 위장
programmers.co.kr
- 수학적 지식이 조금 필요한 문제이다.
- 안입는 경우도 경우의 하나로 포함해서, (모든 조합) - (아무것도 안입는 경우)를 return 해주면 된다.
#조합 계산 - 1, def solution(clothes): answer = 1 dic = {} for i in clothes: dic.setdefault(i[1], []) dic[i[1]].append(i[0]) for i in dic: # i > key... answer *= len(dic[i])+1 return answer - 1
'알고리즘 > 프로그래머스' 카테고리의 다른 글
[위클리 챌린지] 5주차 (0) 2021.09.11 [정렬] K번째수 / 가장 큰 수 / H-Index (0) 2021.09.05 [해시] 베스트앨범 (0) 2021.09.04 [위클리 챌린지] 3주차 (0) 2021.08.29 [위클리 챌린지] 2주차 (0) 2021.08.25