Algorithm/Programmers

[해시] 프로그래머스 Lv1. 폰켓몬 - Python

jyjyjy25 2024. 4. 4. 23:35

🗂️ 문제

링크: https://school.programmers.co.kr/learn/courses/30/lessons/1845

 

프로그래머스

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

programmers.co.kr

 

💡 접근법

최대한 많은 종류의 폰켓몬을 선택해야 하며, 선택할 수 있는 폰켓몬 종류 개수의 최댓값을 출력해야 한다.

nums를 순회하면서 새로운 종류의 폰켓몬이 등장할 때마다 따로 저장해둔다. 이때 선택할 수 있는 폰켓몬 종류 개수의 최댓값은 N/2개이므로, 저장해둔 리스트의 길이가 N/2를 초과하면 안된다.

 

😎 내 코드

def solution(nums):
    answer = 0

    temp = []
    for num in nums:
        if len(temp) == len(nums)//2:
            break
        
        if num in temp:
            continue
        else:
            temp.append(num)
    
    answer = len(temp)
    return answer