프로그래머스 3

전화번호 목록 (프로그래머스 / 파이썬 / 해시 / 알고리즘 고득점 Kit)

문제 https://school.programmers.co.kr/learn/courses/30/lessons/42577?language=python3 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 해결방법 문자열 리스트를 정렬하면 문자열의 가장 앞문자를 기준으로 정렬 되고 같을 경우 그 다음 문자를 기준으로 정렬함 이를 이용하여 문자열 리스트를 정렬하면 만약 어떤 번호가 다른 번호의 접두어일 경우 바로 그 다음에 오게 됨 코드 1 2 3 4 5 6 7 8 def solution(phone_book): phone_book.sort() for i in ran..

포켓몬(프로그래머스 / 파이썬 / 해시)

문제 https://school.programmers.co.kr/learn/courses/30/lessons/1845?language=python3 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 해결방법 N/2 마리 만큼 가져가는데 최대한 여러 종류를 가져가고 싶은것이기 때문에 포켓몬의 종류가 N/2 보다 많으면 N/2를 반환하면 됨 그 외의 경우에는 포켓몬의 종류만큼 반환하면 됨 몬스터의 종류는 중복을 없애주는 set() 자료형을 이용하면 됨 이때 더 작은 것을 판단하는 방법으로는 min() 함수를 이용함 코드 1 2 def solution(nums):..

완주하지 못한 선수(프로그래머스 / 파이썬 / 해시)

문제 https://school.programmers.co.kr/learn/courses/30/lessons/42576?language=python3 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 해결방법 두 배열을 정렬하여 zip으로 묶어 반복문을 돌림 정렬을 한 후이기 때문에 완주하지 못한 사람이 나오는 경우가 아니면 이름이 같아야함 때문에 이름이 다를경우 해당 participant 값을 반환하도록 함 반복문이 끝나도 다른 경우가 나오지 않는다면 participant 의 길이가 1 더 길기 때문에 마지막 사람이 완주하지 못한 것이 되어 마지막사람을 반..