두 정수 사이의 합

Anna·2024년 6월 26일

코딩테스트

목록 보기
19/28
post-thumbnail

📖 문제

두 정수 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차 풀이

class Solution {
    fun solution(a: Int, b: Int): Long 
    {
        var answer: Long = 0
        for(i in a..b) answer += i 
        return answer
    }
}

a와 b사이를 반복하며 하나씩 더하기

a가 b보다 클 경우를 생각 못함

조건문 추가

👻 2차 풀이

class Solution {
    fun solution(a: Int, b: Int): Long 
    {
        var answer: Long = 0
        if(a<=b)
        {
            for(i in a..b) answer += i
        } else
        {
            for(i in b..a) answer += i
        }
        return answer
    }
}

👻 다른 사람 풀이 해석

class Solution 
{
    fun solution(a: Int, b: Int): Long 
    {
        var answer = 0L

        if (a == b)
        {
            return a.toLong()
        }

        var min = Integer.min(a,b)
        var max = Integer.max(a,b)

        for (i in min .. max)
        {
            answer += i
        }

        return answer
    }
}

최소 값, 최대 값을 변수에 저장 후 반복문에 리턴


0개의 댓글