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

2024. 6. 27. 15:27·TIL 🔖/코딩테스트

문제설명

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

나의 풀이

class Solution {
    public long solution(int a, int b) {
        int min = Math.min(a, b); //a와 b 중 작은 값 
        int max = Math.max(a, b); //a와 b 중 큰 값 
        return (long)(max - min + 1) * (min + max) / 2; //정수의 합 계산
    }
}
  • for 루프 대신 가우스덧셈 응용 

참고할 만한 다른 사람의 풀이

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;
    }
}
  • sumAtoB 함수로 가우스 덧셈을 적용하여 계산하는 부분을 분리함

 

'TIL 🔖/코딩테스트' 카테고리의 다른 글
  • [프로그래머스/JAVA] 서울에서 김서방 찾기_JAVA
  • [프로그래머스/JAVA] 콜라츠 추측
  • [프로그래머스/JAVA] 하샤드 수
  • [프로그래머스/JAVA] 정수 내림차순으로 배치하기
fargoe
fargoe
    fargoe
    fargoewave
    fargoe
    GitHub
    전체
    오늘
    어제
    • 분류 전체보기 (166)
      • TIL 🔖 (140)
        • TIL (69)
        • 코딩테스트 (71)
      • DEV (14)
        • Java & Spring (7)
        • MySQL (3)
        • Git&Github (4)
      • 개발지식 (10)
        • 알고리즘 (2)
        • 자료구조 (8)
        • CS (0)
      • 3D (1)
        • Unity (1)
      • ETC (0)
  • 인기 글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
fargoe
[프로그래머스/JAVA] 두 정 수 사이의 합
상단으로

티스토리툴바