csmoon1010의 SW 블로그

[200508] 두 정수의 합 - 연습문제(level1) 본문

Coding Test/프로그래머스

[200508] 두 정수의 합 - 연습문제(level1)

csmoon1010 2020. 5. 8. 23:02

1. 문제이해

- 두 정수 a, b 사이의 모든 정수 합 구하기

 

2. 전략

- a, b 중 작은 수, 큰 수 결정짓기

- 작은 수에서 큰 수까지의 합 구하기(for문)

 

3. 참고사항

- 람다식 이용해서 더 편하게!!

for(int i = ((a<b)?a:b); i <= ((a<b)?b:a); i++)	answer+= i;

- 등차수열 합 공식(차 = 1)

1/2 * n * (a + l) --> 1/2 * (max - min + 1) * (min + max)

 

4. 코드

class Solution {
    public long solution(int a, int b) {
        long answer = 0;
        long max = 0;
        long min = 0;
        if(a < b){
            max = b;
            min = a;
        }
        else{
            max = a;
            min = b;
        }
        for(long i=min; i <= max; i++){
            answer += i;
        }
        return answer;
    }
}
Comments