해시
-
코딩테스트 연습> 해시> 완주하지 못한 선수ALGORITHM/Programmers 2020. 6. 29. 23:38
코딩테스트 연습 - 완주하지 못한 선수 수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수�� programmers.co.kr 문제설명: participant배열과 completion배열에 각각의 선수 이름들이 나열되어 있다. 해당 문제를 풀기 위해서는 2가지 케이스를 볼 수 있는데, 모두 participant에는 이름이 있지만, completion에는 이름이 없는 경우에 해당한다. 즉, 참가는 했지만 완주하지 못한 경우와, 2명의 동명이인 선수가 참가했지만, 1명만 완주를 한 경우이다. 따라서 participant와 completion 배열 내 선수 차이를 확인..
-
프로그래머스> 해시> 위장ALGORITHM/Programmers 2020. 6. 26. 13:55
코딩테스트 연습 - 위장 programmers.co.kr 문제설명: clothes배열 안에 아이템 이름과 아이템 종류가 배열로 들어있는 2차원 배열 형태이다. 같은 종류 중 1개의 아이템만 사용하여 총 몇가지의 조합을 만들 수 있는 지 구하는 문제이다. 단, 아무것도 선택하지 않는 경우는 없다. [1차 시도] def solution(clothes): answer = 1 bin = {} for c in clothes: if c[1] not in bin: bin[c[1]] = [c[0]] else: bin[c[1]].append(c[0]) for k,v in bin.items(): answer*=len(v)+1 return answer-1 풀이: 먼저 clothes배열을 돌면서 아이템 종류별(key)로 아이..
-
프로그래머스> 해시 > 전화번호 목록ALGORITHM/Programmers 2020. 6. 24. 13:26
코딩테스트 연습 - 전화번호 목록 전화번호부에 적힌 전화번호 중, 한 번호가 다른 번호의 접두어인 경우가 있는지 확인하려 합니다. 전화번호가 다음과 같을 경우, 구조대 전화번호는 영석이의 전화번호의 접두사입니다. 구조�� programmers.co.kr 문제설명: phone_book 리스트에 주어지는 번호들 중 한 개의 번호가 다른 번호의 앞자리와 일치하는지 판별하는 문제이다. 즉 이 조건을 한 번이라도 만족한다면 false를 반환하고, 그렇지 않으면 주어지는 defult 값 true를 반환한다. [1차 시도] def solution(phone_book): answer = True i = 0 while i != len(phone_book)-1: for p in phone_book: if phone_boo..