일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 미라클 모닝
- 데이터 분석
- 데이터문해력
- 코오롱베네트
- 독서
- 벚꽃개화시기
- 영화 올드 줄거리
- 명상
- Google Analytics
- 구글애널리틱스
- 프로그래머스
- GA4
- 6시 기상
- 기사스크랩
- 채용공고
- 수명예측 인공지능
- GA
- 알파줄거리
- 구글애널리틱스4
- 티스토리
- ㅂㅂ
- 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' 카테고리의 다른 글
[프로그래머스Lv0] 배열 조각하기 - 파이썬 (0) | 2023.05.24 |
---|---|
[프로그래머스Lv0] k의 개수 - 파이썬 (0) | 2023.05.17 |
[프로그래머스Lv0] 코드 처리하기 - 파이썬 (0) | 2023.05.15 |
[프로그래머스Lv0] A로 B 만들기 - 파이썬 (0) | 2023.05.13 |
[프로그래머스Lv0] 배열 회전시키기 - 파이썬 (0) | 2023.05.12 |