프로그래머스

두 정수 사이의 합

crab. 2022. 7. 16. 21:50

📌문제 출처

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

 

프로그래머스

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

programmers.co.kr

function solution(a, b) {
  let result = 0;
  if (a > b) {
    for (let i = 0; i <= a - b; i++) {
      result += b + i;
    }
  } else {
    for (let i = 0; i <= b - a; i++) {
      result += a + i;
    }
  }
  return result;
}
// 조건을 걸어 a가 큰 경우, b가 큰 경우 각각 따로 설정한다.
// for 반복문을 사용해서 길이만큼 누적합을 하되
// b + i(i는 반복될때마다 1씩증가)를 누적합한다.
console.log(solution(5, 3));
function solution(a, b) {
  let temp = 0;
  let answer = 0;
  if (a > b) {
    temp = a;
    a = b;
    b = temp;
  }
  answer = ((a + b) * (b - a + 1)) / 2;
  return answer;
}
// 우선 a가 b보다 더 클수도 있기 때문에
// 두 수를 비교하는 조건문을 설정해서 큰 수가 b로 가게 한다.
// 첫 수와 끝 수를 더하고
// 거기에 전체 길이를 곱한다.
// 이후 2로 나눈다.
console.log(solution(5, 3));
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body>
    <script>
      function solution(a, b) {
        let temp = 0;
        let answer = 0;
        if (a > b) {
          temp = a;
          a = b;
          b = temp;
        }
        answer = ((a + b) * (b - a + 1)) / 2;
        return answer;
      }
      // 우선 a가 b보다 더 클수도 있기 때문에
      // 두 수를 비교하는 조건문을 설정해서 큰 수가 b로 가게 한다.
      // 첫 수와 끝 수를 더하고
      // 거기에 전체 길이를 곱한다.
      // 이후 2로 나눈다.
      console.log(solution(5, 3));
      console.log("hello");
    </script>
  </body>
</html>
<html>
  <head>
    <meta charset="UTF-8" />
    <title>출력결과</title>
  </head>
  <body>
    <script>
      function solution(a, b) {
        let answer = ((a + b) * (Math.abs(b - a) + 1)) / 2;
        return answer;
      }
      // 첫 수와 끝 수를 더하고
      // 거기에 전체 길이를 곱한다.
      // 이때 Math.abs(b-a)를 하면 절대값이므로
      // 두 수의 순서와 크기가 상관이 없다.
      // 이후 2로 나눈다.
      console.log(solution(5, 3));
    </script>
  </body>
</html>

빅오을 이용한 알고리즘코드의 비교법

가우스 법칙을 이용하여 시간복잡도를 줄이기

'프로그래머스' 카테고리의 다른 글

행렬의 덧셈  (0) 2022.07.16
음양더하기  (0) 2022.07.16
문자열 압축  (0) 2022.06.06
두 개 뽑아서 더하기  (0) 2022.01.31
최소직사각형  (0) 2022.01.31