두 정수 사이의 합

less than 1 minute read

Programmers.co.kr 코딩테스트 연습

Level 1 - 사용언어 Java - 두 정수 사이의 합

sumAllNumbersBetweenTwoInts

나의 답안

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

    if (a > b) {
      for (int i = b; i <= a; i++) {
        answer += i;
      }
    } else if (a < b) {
      for (int i = a; i <= b; i++) {
        answer += i;
      }
    } else {
      answer = a;
    }
    return answer;

  }
}

등차수열의 합 공식을 이용한 다른 사람의 답안..(수포자는 웁니다)

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;
    }
}

깔끔하게 잘 정리된 다른 사람의 답안

class Solution {
  public long solution(int a, int b) {
      long answer = 0;
      for (int i = ((a < b) ? a : b); i <= ((a < b) ? b : a); i++) 
          answer += i;

      return answer;
  }
}