문제
https://school.programmers.co.kr/learn/courses/30/lessons/68644
설계
- 모든 경우의 수를 조사하는 방법 채택
파이썬
def solution(numbers):
answer = []
for i in range(len(numbers)-1): # 현재 기준 다음의 숫자들과 더하기 위해 -1까지만 탐색
for j in range(i+1, len(numbers)): # 현재 기준 이후의 숫자들과 더해본다.
if numbers[i] + numbers[j] not in answer:
answer.append(numbers[i] + numbers[j])
answer.sort()
return answer
자바스크립트
숫자를 sort할 경우 오류를 발생할 여지가 있다. 때문에 숫자 sort를 할 경우 옵션에 함수를 넣어 오름차순(a - b) 또는 내림차순(b - a) 정렬을 설정해 주어야 한다.
// sort 예시
let a = [5, 2, 1, 12]
a.sort()
console.log(a) // [1, 12, 2, 5]
function solution(numbers) {
let answer = [];
for (let i = 0; i < numbers.length - 1; i++) {
for (let j = i + 1; j < numbers.length; j++) {
answer.push(numbers[i] + numbers[j])
}
}
// 숫자 오름차순 정렬
answer.sort(function(a, b) {
return a - b
})
// 중복 제거
const setAnswer = new Set(answer)
return [...setAnswer];
}
'PS (Problem Solving) > Programmers' 카테고리의 다른 글
[프로그래머스] 몫 구하기 - 파이썬, 자바스크립트 (0) | 2023.01.18 |
---|---|
[프로그래머스] 나머지 구하기 - 파이썬, 자바스크립트 (0) | 2023.01.18 |
[프로그래머스] 124 나라의 숫자 - 파이썬 (0) | 2023.01.10 |
[프로그래머스] 할인 행사 - 자바스크립트, 파이썬 (0) | 2023.01.08 |
[프로그래머스] 이상한 문자 만들기 - 파이썬 (0) | 2023.01.02 |