[프로그래머스] 두 개 뽑아서 더하기

SUN·2022년 12월 8일
0

프로그래머스

목록 보기
8/49

파이썬으로 프로그래머스 문제 풀어보기

두 개 뽑아서 더하기

def solution(numbers):
    answer = []
    
    for i in range(len(numbers)):                    # numbers의 범위만큼 for문 반복
        for j in range(i):                           # i의 범위만큼 for문 반복
            if numbers[i] != numbers[j]:             # i와 j의 값이 다르다면
                sum = numbers[i] + numbers[j]        # sum이라는 변수에 numbers[i] + numbers[j] 값 넣어주기
            elif numbers[i] == numbers[j]:           # numbers[i]와 numbers[j]가 같다면
                sum = numbers[i] + numbers[j]        # sum이라는 변수에 numbers[i] + numbers[j] 값 넣어주기
            answer.append(sum)                       # answer 리스트에 sum변수 넣어주기
               
    
    return sorted(list(set(answer)))                 # 중복제거를위해 answer에 set를 해주고 list로 만들어준 뒤, sorted(리스트)를 해준다

''' 
case2
def solution(numbers):
    answer = []
    
    for i in range(len(numbers)):
        for j in range(i+1, len(numbers)): 
            answer.append(numbers[i] + numbers[j])
    
    return sorted(list(set(answer)))
		return sorted(set(answer))
'''

'''
answer.sort()는 리스트 자체를 변경해버린다. 원본 리스트의 순서를 변경한다
>>> myList = [4, 2, 3, 5, 1]
>>> myList.sort()
>>> myList
[1, 2, 3, 4, 5]

sorted(answer)는 기존의 리스트를 변경하는게 아니라 정렬된 ''새로운'' 리스트를 반환하는것
모든 iterable객체에 동작한다(list, tuple, dict, str ... )
>>> sorted([4, 2, 3, 5, 1])
[1, 2, 3, 4, 5]
'''

0개의 댓글