본문 바로가기
Algorithm/Programmers

두 정수 사이의 합

by 동그란 혜주 2019. 5. 31.

· 문제 설명

두 정수 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 return
3 5 12
3 3 3
5 3 12

· Thinking 1

포문으로 그냥..

for (int i = a; i <= b; i++) {
	answer += a;
}

엥 ?
a = 3, b = 5
answer = 0
i = 3
0 += 3 -> 3
i = 4
3 += 4 -> 7
i = 5
7 += 5 -> 12
아냐 ?

아이고 ..! answer += a 가 아니라 answer += i임;


· 완성 코드

class Solution {
  public long solution(int a, int b) {
      long answer = 0;
      int min = (a < b) ? a : b;
      int max = (a > b) ? a : b;
      
      if (a == b) {
          answer = a;
      } else {
          for (int i = min; i <= max; i++) {
              answer += i;
          }
      }
      return answer;
  }
}

 


· 문제 출처

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가 같은 경우는 둘 중 아무 수나 리턴하세요. a와 b는 -10,000,000 이상 10,000,000 이하인 정수입니다. a와 b의 대소관계는 정해져있지 않습니다. 입출력 예 a b return 3 5 12 3 3 3 5 3

programmers.co.kr

 

'Algorithm > Programmers' 카테고리의 다른 글

문자열 내 마음대로 정렬하기  (0) 2019.05.31
문자열 내 p와 y의 개수  (0) 2019.05.31
나누어 떨어지는 숫자 배열  (0) 2019.05.31
같은 숫자는 싫어  (0) 2019.05.31
x만큼 간격이 있는 n개의 숫자  (0) 2019.05.31

댓글