코딩테스트

TIL - 프로그래머스 연습문제 : 두 정수 사이의 합

유기린 2022. 8. 7. 17:28

 

https://school.programmers.co.kr/learn/courses/30/lessons/12912

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

문제 설명

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

 

일단 for문을 사용해 a부터 b까지의 수를 찾아서 더하고

b가 더 작을경우 b부터 시작해야 하기때문에 if문을 사용하면 되겠다고 생각

 

a = 3
b = 5
var sum = 0
for (let i = a; i <= b; i++) {
  sum += i
} console.log(sum)

//12

일단 for문 구동 확인!

if 조건에 맞게 for문 조건 변경해서 집어넣자

a = 3
b = 5
var sum = 0

function solution(a, b) {
  if (a > b) {
    for (let i = b; i <= a; i++) {
      sum += i
    } console.log(sum)
  } else if (a < b) {
    for (let i = a; i <= b; i++) {
      sum += i
    } console.log(sum)
  } else {
    console.log(a)
  }
}

맞는거 같은데 콘솔에 안찍힌다 

그냥 프로그래머스에 넣어보니 패스되었다.

 

왜 콘솔에는 안찍히지???

 

var sum = 0;

function solution(a, b) {
  if (a > b) {
    for (let i = b; i <= a; i++) {
      sum += i;
    }
  } else if (a < b) {
    for (let i = a; i <= b; i++) {
      sum += i;
    }
  } else {
    sum = a;
  } return(sum);
}

줄여보고자 중복되는 return(sum)을 마지막에 공통으로 빼줬다.