프로그래머스_폰켓몬

임정민·2022년 11월 26일
2

알고리즘 문제풀이

목록 보기
5/173
post-thumbnail

코딩테스트 연습 스터디 진행중 입니다. ✍✍✍
Notion : https://www.notion.so/1c911ca6572e4513bd8ed091aa508d67

문제

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

풀이

[나의 풀이]

def solution(nums):
    
    tmp=set()                       # set() : set형 선언, * tmp = {} 는 dict형 선언
    
    [tmp.add(i) for i in nums]      # 중복되는 값은 삭제
    
    print(len(nums)/2)
    
    if len(tmp) > int(len(nums)/2): # 중복되는 값이 뽑는 갯수보다 크더라도 
        answer = len(nums)/2   # 뽑을 수 있는 갯수가 최대 갯수
                                    # int(len(nums/2)) => (int) 연산자 (int)
                                    # 이기 때문에 int형으로 return. *사실 형변환 불필요 
    else:                           
        answer = len(tmp)           # return answer 시 문제에서 알아서 모든 경우의 수를
                                    # 고려해주기 때문에 '고유한 값 갯수' = answer
    return answer               
                                    # // 연산자 : 소숫점 버리는 나눗셈

[팀원의 풀이1]

def solution(nums):
    answer = 0
    temp = int(len(nums)/2)
    
    nums.sort()
    after = set(nums)
    if len(after) > temp:
        answer = temp
    else :
        answer = len(after)
    return anwser

[팀원의 풀이2]

def solution(nums):
    answer = 0
    
    lst = set(nums)
    if len(lst) > len(num2)/2:
        answer = len(nums)/2
    else:
        answer = len(lst)
    
    return answer

메모

이번 문제는 모두 비슷하게 푼 것 같다!

감사합니다.🌞🌞🌞

profile
https://github.com/min731

0개의 댓글