일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |
Tags
- 영화 올드 줄거리
- 독서
- 코오롱베네트
- 벚꽃
- 프로그래머스
- 명상
- GA
- 6시 기상
- 구글애널리틱스4
- GA4
- 티스토리
- 기사스크랩
- 코딩
- Google Analytics
- 미라클 모닝
- 채용공고
- ㅂㅂ
- 얼음여왕
- 수명예측 인공지능
- 감사인사
- 벚꽃개화시기
- Python
- 구글애널리틱스
- 데이터문해력
- 알파줄거리
- 니다
- 데이터 분석
Archives
- Today
- Total
Data Analyst KIM
[프로그래머스Lv0] 무작위로 k개의 수 뽑기 - 파이썬 본문
반응형
<원리>
arr의 리스트에서 순서대로,중복을 제외하여 k개의 개수만큼 result의 개수가 결정이 된다.
만약 arr의 중복을 하지 않은 개수가 k개보다 적다면 나머지는 -1로 저장을 해준다.
<문제접근법>
1. 조건문을 이용하여 arr의 개수만큼 실행한다.
2. num = arr[i]를 이용하여 arr의 인덱스를 num에 저장한다.
3. 조건문을 이용하여 num이 arr의 인덱스가 처음부터 현재인덱스-1까지 중 포함되지 않는 숫자라면 answer에 저장한다.
4. k의 개수에 따라 두가지로 나뉜다.
5. 첫번째로 k개 이상인 경우 k개 일 경우만 생각해주면된다. => 조건문을 통해 k개이면 멈춘다.
6. 두번째로 k개 보다 작은 경우 -1을 추가하면 된다.
def solution(arr, k):
answer = []
for i in range(len(arr)) :
num = arr[i]
if num not in arr[:i]:
answer.append(num)
if len(answer) == k :
break
while len(answer) < k:
answer.append(-1)
return answer
반응형
'데이터 분석 > Coding Test' 카테고리의 다른 글
#1. Coding Club (프로그래머스-코드처리하기,배열만들기2,무작위k개,옹알이) (0) | 2023.05.18 |
---|---|
[프로그래머스Lv0] k의 개수 - 파이썬 (0) | 2023.05.17 |
[프로그래머스Lv0] 코드 처리하기 - 파이썬 (0) | 2023.05.15 |
[프로그래머스Lv0] A로 B 만들기 - 파이썬 (0) | 2023.05.13 |
[프로그래머스Lv0] 배열 회전시키기 - 파이썬 (0) | 2023.05.12 |