개발하는 체대생

[코딩테스트] 프로그래머스/Java(자바) 두 정수 사이의 합 본문

코딩테스트/JAVA

[코딩테스트] 프로그래머스/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. 변수a 와 변수b의 대소관계를 구한다.
//2. for문을 사용해 a와 b 사이의 값을 구한다.
//3. 누적합을 활용하여 a와 b 사이의 값을 모두 더해준다.

나의 답안

class Solution {
    public long solution(int a, int b) {
        long answer = 0;
        
        if (a<=b){							// 1-1. b가 a와 같거나 클 경우
            for (int i = a; i <= b; i++) {	// 2. a ~ b 까지 for문을 돌려준다.
                answer += i;    			// 3. a ~ b 사이의 값을 누적합으로 모두 더해준다.
            }
        }else{								// 1-2. a가 보다 클 경우 
            for(int i = b; i <= a; i++){	// 2. b ~ a 까지 for문을 돌려준다.
                answer += i;				// 3. b ~ a 사이의 값을 누적합으로 모두 더해준다.
            }
        }
        return answer;
    }
}

 

회고

- 매일 꾸준히 풀어가면서 코딩테스트에 익숙해지자

Comments