[TIL] 카테고리/알고리즘 문제풀기

[자바스크립트] 프로그래머스 Lv.1 두 정수 사이의 합

티레이니 2022. 5. 14. 01:18

let a = 5
let b = 3
let answer = 0

if (a >= b) { // a가 b보다 크거나 같으면
  let num = a - b  // a에서 b를 빼고

  for (i=0; i<=num; i++) { // 그 횟수만큼 반복해서
    answer += b + i // answer에 b와 i를 더한다~
  }

} else { // b가 더 크다면 반대로 b에서 a빼기
  let num = b - a 
  
  for (i=0; i<=num; i++) {
    answer += a + i 
  }
}

 

 

a와 b 사이의 모든 정수의 합을 구하는 함수!

 

몇개 없는 아는 문법으로 끼적끼적 적어서 제출하고

다른 사람들이 제출한 답안을 봤는데..

 

 

return (a+b)*(Math.abs(b-a)+1)/2;
for (var i = Math.min(a, b); i <= Math.max(a, b); i++) s += i;
  return s;

 

..에? 한줄로 되는거에요..??? 한줄로 하는것도 방법이 하나가 아니야...??

 

여까지 쉬운 문제들이었지만 공부 좀 해서 다시 풀어보고싶다 ;;

 

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

 

코딩테스트 연습 - 두 정수 사이의 합

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

programmers.co.kr