두 정수 사이의 합 Lv. 1

박영준·2022년 11월 21일
0

코딩테스트

목록 보기
4/300
class Solution {
    public long solution(int a, int b) {
        long answer = 0;
        return answer;
    }
}

해결법

방법 1

class Solution {
    public long solution(int a, int b) {
        long answer = 0;
        
        //'a와 b가 같은 경우는 둘 중 아무 수나 리턴하세요.', 'a와 b의 대소관계는 정해져있지 않습니다.'
        //조건에 따라, 3가지 경우로 나눈다
        
        //경우1
        if (a < b) {
            for (int i = a; i<= b; i++) {
                answer += i;
            }
        //경우2
        } else if (a > b) {
            for (int i = b; i <= a; i++) {
                answer += i;
            }
        //경우3 (a == b)
        } else {
           answer = a;
        }

        return answer;
    }
}

방법 2

class Solution {
    public long solution(int a, int b) {
        long answer = 0;
        
        if (a < b) {
            for (int i = a; i <= b; i++) {
                answer += i;
            }
        } else {
            for (int i = b; i <= a; i++) {
                answer += i;
            }
        }
        
        return answer;
    }
}
  • 마지막 else 조건을 생략할 수 있다

방법 3

class Solution {
    public long solution(int a, int b) {
        long answer = 0;
        
        if (b < a) {
            int temp = a;
            a = b;
            b = temp;
        }
        for (int i = a; i <= b; i++) {
            answer += i;
        }
        
        return answer;
    }
}
  • a와 b의 값을 바꾸고,
    for문에는 a가 큰값이면 큰값인대로 b가 큰값이면 큰값인대로 반복문이 수행된다

두 정수 사이의 합 Lv. 1

profile
개발자로 거듭나기!

0개의 댓글