본문 바로가기
4.2 프로그래머스 & 코테문제/Java 풀이

[Java/프로그래머스 LV.1] 두 정수 사이의 합

by Dohi._. 2024. 9. 19.
728x90

 

https://school.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의 대소관계가 정해져 있지 않다는 점을 고려해야합니다

제가 생각한 풀이는

1. min과 max를 구분하거나

2. a를 b를 향하게 만든다 였습니다

 

2번을 선택하고 풀이를 하였고

a가 b를 향해서 가는데 a가 b와 동일하게 되면 반복을 종료합니다

a가 b와 동일 해질때 b의 값이 합산이 되지 않기 때문에 answer값에 b를 미리 합산을 합니다.

a가 b보다 작을경우는 +1  클경우는 -1 를 하여 반복을 할수록 a가 b를 향하게 하였습니다.

 

class Solution {
    public long solution(int a, int b) {
       long answer = b;
        while(a!=b){
            answer +=a;
            a =  a>b ? a-1: a+1;  
        }
        return answer;
    
    }
}

 

728x90

댓글