내 블로그 목록

2018년 12월 25일 화요일

[알고리즘] Level1.두 정수 사이의 합 - 자바(java)

[문제 설명]

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

[나의 풀이]

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
class Solution {
  public long solution(int a, int b) {
      long answer = 0;
      int temp = 0;
        if(a > b) {
            temp = a;
            a = b;
            b = temp;
        }
        for(int i = a; i <= b; i++) {
            answer += i;
        }
 
      return answer;
  }
}
cs


[다른 사람의 풀이]

class Solution {
public long solution(int a, int b) {
return sumAtoB(Math.min(a, b), Math.max(b, a));
}
private long sumAtoB(long a, long b) {
return (b - a + 1) * (a + b) / 2;
}
}
#Math.min(a, b) / Math.max(b,a)
Math 객체는 숫자와 관련된 처리를 위한 메서드들을 포함하고 있다.
포함 메서드들은 다음과 같다.


댓글 없음:

댓글 쓰기