하루에 하나씩 공부하기
폰켓몬-LV1 본문
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
[해시]
인덱스를 숫자가 아닌 문자열, 튜플 사용하려고 할 때 사용
- 빈딕셔너리 생성
dict1={}
dict2=dict()
- 딕셔너리 원소 가져오기
dict.get(key, x) : 딕셔너리에 key값이 있을 경우 value, 없을 경우 x 리턴
- 딕셔너리 수정
dict[key] = 100, dict[key]+=20 등등
- 딕셔너리 삭제
del dict[key]
dict.pop(key, default값) : key값이 있을 경우 value 리턴, 없을 경우 default 값 리턴
- 딕셔너리 key, value 뽑기
dict.keys()
dict.items()
- 키포인트
해시 사용할 줄 몰랐음
dict[i]=1로 해시 중복제거
시퀀스(sequence) | 리스트(list) | 순서가 있고, 가변(mutable) | [1, 2, 3] |
시퀀스(sequence) | 튜플(tuple) | 순서가 있고, 불변(immutable) | (1, 2, 3) |
세트(set) | 세트(set) | 순서가 없고, 중복을 허용하지 않음 | {1, 2, 3} |
맵(map) | 딕셔너리(dictionary) | 순서가 없고, key/value 쌍으로 이루어짐 | {'a': 1, 'b': 2, 'c': 3} |
- 코드
def solution(nums):
answer = 0
dict={}
for i in nums :
dict[i]=1
if len(nums) // 2 <=len(dict) :
return len(nums)//2
return len(dict)
def solution(nums):
return min(len(nums)//2, len(set(nums)))
set로 딕셔너리 중복 제거
'파이썬' 카테고리의 다른 글
K번째수-LV1 (0) | 2025.03.09 |
---|---|
베스트앨범-LV3 (1) | 2025.03.09 |
의상-LV2 (0) | 2025.02.28 |
전화번호 목록-LV2 (0) | 2025.02.27 |
완주하지 못한 선수-LV1 (0) | 2025.02.25 |