Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- 혼공머신러닝딥러닝
- 개인 의료비 예측
- 영상제작기
- 삼성SDS Brigthics
- 데이터 분석
- Brigthics
- Brightics
- 캐글
- 삼성 SDS
- 삼성 SDS Brigthics
- 혼공학습단
- 포스코 아카데미
- 직원 이직률
- 추천시스템
- 브라이틱스 서포터즈
- 팀 분석
- Brigthics를 이용한 분석
- 직원 이직여부
- Brightics Studio
- 삼성SDS
- 혼공머신
- 포스코 청년
- 데이터분석
- 노코드AI
- Brightics를 이용한 분석
- 브라이틱스
- 모델링
- 삼성SDS Brightics
- Brigthics Studio
- 혼공
Archives
- Today
- Total
데이터사이언스 기록기📚
[프로그래머스] Level 1_폰켓몬 본문
문제 유형
해시
문제
https://school.programmers.co.kr/learn/courses/30/lessons/1845
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
나의 문제풀이
- 시도(실패) : combinations를 이용하여 list 구성 -> 찾는데 정보 오래걸림
- 시도(성공)
- 처음부터 중복을 제거하고 시작해보자!
- set을 이용하여 중복 제거
- len(nums) // 2보다 작으면 len(num_set) 리턴, 이외의 경우 len(nums) // 2 리턴
def solution(nums):
answer = 0
num_set = list(set(nums))
if len(num_set) <= len(nums) // 2:
return len(num_set)
else:
return len(nums) // 2
다른사람의 문제풀이
1. 한 줄로 줄여서 작성 - min 이용하여 한 번에 비교
def solution(ls):
return min(len(ls)/2, len(set(ls)))
2. for문 이용하여 중복 제거
def solution(nums):
kind = []
answer = int(len(nums)/2) # 3
# 중복 제거하여 kind에 넣기
for num in nums:
if num not in kind:
kind.append(num)
# 더 작은 값 리턴
result = len(kind) if answer > len(kind) else answer
return result
리뷰
- 해시 정의
https://yunaaaas.tistory.com/46
[Python 자료구조] Hash(해시)
파이썬에서 해시(Hash)는 어떻게 구현할 수 있을까요!? 파이썬에서는 Dictionary 라는 자료구조를 통해 해시를 제공합니다. 그리고 Dictionary는 dict클래스에 구현되어있습니다! 해시 언제 사용하면 좋
yunaaaas.tistory.com
- 조합보다 '중복 제거'에 초점을 맞추어서 해결하기
728x90
'Coding Test > 프로그래머스(Python)' 카테고리의 다른 글
[프로그래머스] Level2_기능개발(스택/큐) (0) | 2022.09.02 |
---|---|
[프로그래머스] Level 1_실패율 (0) | 2022.08.16 |
[프로그래머스] Level 1_문자열 내 마음대로 정렬하기 (0) | 2022.07.15 |
[프로그래머스] Level 1_[1차] 비밀지도 (0) | 2022.07.14 |
[프로그래머스] Level 1_소수 만들기 (0) | 2022.07.12 |
Comments