Posts [programmers] 두 개 뽑아서 더하기 (python, javascript)
Post
Cancel

[programmers] 두 개 뽑아서 더하기 (python, javascript)

programmers | 두 개 뽑아서 더하기

코딩 테스트 연습 > 월간 코드 챌린지 시즌 1 > 두 개 뽑아서 더하기

level 1

구현한 코드

이중 for문을 이용하여 numbers 리스트의 서로 다른 인덱스 두 개가 다 더해지도록 한다.

이때 if문을 이용하여 answer에 없는 값만 추가하여 중복이 없도록 한다.

오름차순으로 출력하기 위해서 python에서는 sort()를 이용하면 된다.

하지만 javascript 같은 경우 sort() 만 사용할 경우 원하는 대로 동작하지 않는 경우가 있다. 예를 들면 [2, 5, 7, 9, 12]의 순으로 출력되어야 하지만 [12,2,5,7,9]의 순으로 출력되기 때문이다.

python

1
2
3
4
5
6
7
8
9
def solution(numbers):
    answer = []
    for i in range(len(numbers)):
        for j in range(i+1, len(numbers)):
            temp = numbers[i] + numbers[j]
            if temp not in answer:
                answer.append(temp)
    answer.sort()
    return answer

javascript

  • javascript로 문제푸는 것을 익히고 싶을 때 풀면 좋을 문제인 것 같다.

  • tip!

    • VSC를 이용하면 변수에 let으로 선언을 안해도 동작은 하나 programmers에서 실행시 에러가 발생하므로 새로운 변수를 사용할 때 let, const, var 사용을 잊지 말자~! (python의 편안함에 다시 한번 감동)

    • sort() 주의하기!

      sort() 만 사용시 12가 2보다 앞에 정렬되게 된다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
function solution(numbers) {
  let answer = [];
  let temp = 0;
  for (let i = 0; i < numbers.length - 1; i++) {
    for (let j = i + 1; j < numbers.length; j++) {
      temp = numbers[i] + numbers[j];
      if (answer.includes(temp) === false) {
        answer.push(temp);
      }
    }
  }

  answer.sort(function (a, b) {
    return a - b;
  });
  return answer;
}
This post is licensed under CC BY 4.0 by the author.

[Web Vue] 1. Vue 기초 다지기

[baekjoon] 14502. 연구소 (python)

Comments powered by Disqus.