두 정수 사이의 합_페어프로그래밍

박서현·2023년 8월 21일
0
post-thumbnail

🐥두 정수 사이의 합

문제 설명
두 정수 a, b가 주어졌을 때 a와 b 사이에 속한 모든 정수의 합을 리턴하는 함수, solution을 완성하세요.
예를 들어 a = 3, b = 5인 경우, 3 + 4 + 5 = 12이므로 12를 리턴합니다.


제한사항
a와 b가 같은 경우는 둘 중 아무 수나 리턴하세요.
a와 b는 -10,000,000 이상 10,000,000 이하인 정수입니다.
a와 b의 대소관계는 정해져있지 않습니다.




🔸나의 풀이

  • 나의 설계
    • 더해진 숫자를 저장 할 새로운 식별자 생성
    • 반복 할 횟수 구하기
    • 새로 만들어진 식별자에 a부터 b까지의 숫자 더하기
    • a가 b보다 작다면
    • a가 b보다 크다면
function solution(x) {
    const count = Math.abs(a - b) + 1
    let sum = 0;
    let newNum = 0
    for(let i = 0; i < count; i++) {
        //새로 만들어진 식별자에 a부터 b까지의 숫자 더하기
        if(a < b) {
            //a가 b보다 작다면
            newNum = a + i
            sum += newNum
        } else {
            //a가 b보다 크다면
            newNum = a - i
            sum += newNum
        }
    }
    return sum
}
solution(3, 5)

🔹상대 풀이

function solution(x) {
    var answer = true;
    let sum = x
      .toString()
      .split('')
      .map((item) => Number(item))
      .reduce((add, cur) => (add += cur));
    if (x % sum === 0) {
      answer = true;
    } else answer = false;
  
    return answer;
  }
  
  
  console.log(solution(11));



🐷

풀이 방법이 많이 다르다.
나는 수학적으로 접근을 하고 상대는 메서드를 사용하였다.
혼자 했으면 그냥 넘어갔겠지만 같은 문제를 수학적으로 접근하냐 메서드를 사용하느냐로도 나뉜다는것을 이번에 알았다.

0개의 댓글