[프로그래머스] 두 정수 사이의 합

김소은·2024년 6월 14일

알고리즘

목록 보기
17/55
post-thumbnail

프로그래머스의 Lv.1 두 정수 사이의 합 문제 풀이

문제 설명

두 정수 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의 대소관계는 정해져있지 않습니다.

문제 풀이
두 정수 사이의 합을 구하기 위해서는 순회하면서 더하면 될떠 같은데 그러기 위해선 어디까지 더해야하는지가 미지수였다. 이것을 해결하기 위해 일단 더해야하는 정수의 갯수를 알아야하고, 최솟값를 알아야했다. 그 문제를 풀이한 코드가 밑에 보이는 코드이다. 총 정수의 갯수와 최솟값을 구한 것을 순회하여 배열에 넣고, 배열을 순회하여 answer에 더하여 최종 값을 반환합니다.

코드

public long solution(int a, int b) {
   long answer = 0;

   int size = Math.abs(b - a) + 1;
   long[] result = new long[size]; 

   int start = Math.min(a, b);

   for (int i = 0; i < size; i++) {
     result[i] = start + i;
   }
   for (long j : result) { 
     answer += j;
   }
   return answer;
 }
profile
차근차근 잘 해보자!

0개의 댓글