코딩테스트
무작위로 K개의 수 뽑기 level 0
choyou831
2024. 7. 11. 22:34
def solution(arr, k):
answer = []
count = 0
for i in range(len(arr)):
if i == 0:
answer.append(arr[i])
if answer[count] == arr[i]:
continue
else:
answer.append(arr[i])
count += 1
if(len(answer) == k):
break
while len(result) < k:
result.append(-1)
return answer
answer[count] == arr[i]를 비교하는 과정에서 count값이 정확하게 비교되지 않아 오류가 났다.
따라서 set를 만들어서 모든값들을 비교하여고 코드를 다시 작성하였다.
def solution(arr, k):
used = set()
result = []
for num in arr:
if num not in used:
result.append(num)
used.add(num)
if len(result) >= k:
break
while len(result) < k:
result.append(-1)
return result
이렇게 set을 만들어서 값들은 전부 set에 저장한뒤,값들을 비교해주면 모든 값들을 빠짐없이 비교할수있다