728x90
https://programmers.co.kr/learn/courses/30/lessons/68644
프로그래머스 level1 '두개 뽑아서 더하기' 문제를 풀었다.
레벨1 실력이라고 생각해서 레벨1을 풀었는데 이렇게 연속으로 쉬운 문제들이 나와서 레벨을 올려야할지 기출문제로 바로 넘어가야할지 조금 고민이다... 🤔
def solution(numbers):
answer = []
for i in range(len(numbers)) :
for j in range(len(numbers)) :
if i != j :
answer.append(numbers[i] + numbers[j])
answer = sorted(set(answer))
return answer
두 수를 뽑아서 더해서 만들 수 있는 모든 수를 오름차순으로 정렬하는 문제이다.
numbers의 길이가 그리 길지 않기 때문에 이중 for문을 사용해도 효율성 문제가 없을 것 같아서 이중 for문을 사용했다.
이중 for문을 사용할 때 같은 인덱스 즉 같은 숫자끼리는 더할 일이 없으니 i와 j가 같지 않을 때만 더해서 answer에 담았다. 더한 값이 중복인 경우를 제거하는 방법으로는 set은 중복인 값이 있다면 제거해주기 때문에 list를 set으로 만드는 방법을 선택했다.
set으로 만든 결과를 오름차순으로 정렬하기 위해 sorted 함수를 사용했다.
728x90