https://school.programmers.co.kr/learn/courses/30/lessons/68644
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
입력값의 갯수와 범위가 100으로 작기 때문에 N*N으로 풀이할 수 있는 문제입니다.
입력되는 수의 크기가 100이기 때문에 두 수를 더해서 만들 수 있는 최대크기도 200입니다.
간단하게 200짜리 boolean 배열을 만들고 모든 경우에 대해 두 수의 합을 체크해준 뒤 boolean 배열을 순회하면서 True인 값들을 정답 배열에 넣어주면 자연스럽게 오름차순으로 정렬이 됩니다.
def solution(numbers):
answer = []
make = [False for i in range(201)]
for i in range(len(numbers)):
for j in range(i+1, len(numbers)):
make[numbers[i] + numbers[j]] = True
for i in range(len(make)):
if make[i]:
answer.append(i)
return answer
728x90
'🔍 알고리즘 > 프로그래머스 Python' 카테고리의 다른 글
[Python] 프로그래머스 86491. 최소직사각형 (Lv.1) (0) | 2022.08.10 |
---|---|
[Python] 프로그래머스 12901. 2016년 (Lv.1) (0) | 2022.08.10 |
[Python] 프로그래머스 12982. 예산 (Lv.1) (0) | 2022.08.10 |
[Python] 프로그래머스 68935. 3진법 뒤집기 (Lv.1) (0) | 2022.08.10 |
[Python] 프로그래머스 77486. 다단계 칫솔 판매 (Lv.3) (0) | 2022.08.08 |