본문 바로가기

Java/알고리즘

[알고리즘] 해시 - Lv.1 완주하지 못한 선수

해시

1. 완주하지 못한 선수

  • sort() 함수: list 정렬
  • zip() 함수
    • 순회 가능한 객체를 인자로 받고, 각 자료형의 각 요소를 나눈 후 인덱스끼리 잘라서 리스트로 반환해 줌
    • 주의사항: 인자의 길이가 다를 경우, 가장 짧은 길이의 인자에 맞춰지고 나머지는 버려짐
    • list1 = [1, 2, 3, 4]
    • list2 = ['one', 'two', 'three', 'four']
    • for x, y in zip(list1, list2) => 1 one, 2 two, 3 three, 4 four
  • 마라톤을 완주하지 못한 단 한 명만 찾으면 됨
    • 1. 참가자 명단과 완주자 명단 비교하기
      • for p, c in zip(participant, completion):
      • if p != c:
      • return p
    • 2. 모든 순회가 끝난 후에도 완주하지 못한 참가자는 맨 마지막에 위치하게 됨
      • return participant[-1]
def solution(participant, completion):
    participant.sort()
    completion.sort()
    
    for p, c in zip(participant, completion):
        if p != c:
            return p
    return participant[-1]

 


 

참고 사이트: https://programmers.co.kr/

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

반응형