Data Analyst KIM
[프로그래머스Lv0] 무작위로 k개의 수 뽑기 - 파이썬 본문
반응형
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
<원리>
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 |