level1_두 개 뽑아서 더하기
2024. 6. 26. 21:51ㆍ파이썬_알고리즘(코딩테스트)/level1


내가 제출한 코드
def solution(numbers):
answer = []
for i in range(len(numbers)):
for j in range(i+1, len(numbers)):
answer.append(numbers[i]+numbers[j])
answer_set=set(answer)
answer=list(answer_set)
answer.sort()
return answer
- 이중 for문
- 바깥루프 : 인덱스 i를 0부터 numbers 리스트의 길이까지 반복한다.
- 안쪽루프 : 인텍스 j를 i+1부터 numbers 리스트의 길이까지 반복한다.
- 각 반복만다 number[i]와 number[j]의 합을 answer리스트에 추가한다.
- 중복제거
- answer 리스트를 set으로 변환하여 중복된 값을 제거한다.
- answer = list(answer_set)
- answer.sort()
- 리스트로 변환 및 정렬
- 여기서 return sorted(answer)을 바로 써주어도 된다.
sort와 sorted의 차이는
def solution(numbers):
answer = []
for i in range(len(numbers)):
for j in range(i+1, len(numbers)):
answer.append(numbers[i] + numbers[j])
answer_set = set(answer)
answer = list(answer_set)
answer.sort() # 리스트를 제자리에서 정렬합니다.
return answer # 정렬된 리스트를 반환합니다.
- sort()는 리스트를 제자리에서 정렬된다.
- 즉, 리스트 자체를 정렬하지만 아무것도 반환하지 않는다(None을 반환).
def solution(numbers):
answer = []
for i in range(len(numbers)):
for j in range(i+1, len(numbers)):
answer.append(numbers[i] + numbers[j])
answer_set = set(answer)
answer = list(answer_set)
return sorted(answer) # 정렬된 리스트를 반환합니다.
- sorted()는 새로운 정렬된 리스트를 반환한다
- 원래 리스트는 변경되지 않는다.
'파이썬_알고리즘(코딩테스트) > level1' 카테고리의 다른 글
| level1_푸드 파이트 대회 (1) | 2024.08.11 |
|---|---|
| level1_K번째수 (0) | 2024.07.01 |
| level1_원소들의 곱과 합 (0) | 2024.06.24 |
| level1_홀짝에 따라 다른 값 반환하기 (0) | 2024.06.24 |
| level1_숫자 문자열과 단어 (0) | 2024.06.20 |