C#으로 풀기 - 두 정수 사이의 합

Amberjack·2024년 2월 13일
0

Codekata

목록 보기
6/16

두 정수 사이의 합

문제 풀이

오늘은 문제의 해결 방법을 생각하는 데 시간을 조금 소요했다. 하지만 a와 b를 더한 수에 a - b + 1 혹은 b - a + 1 만큼 곱한 뒤, 2로 나누면 된다는 것을 생각해낼 수 있었다.

public class Solution {
    public long solution(int a, int b) {        
        long answer = 0;
        
        int diff = 0;
        
        if(a <= b) diff = b - a + 1;
        else diff = a - b + 1;
        
        answer = (a + b) * diff / 2;
        
        return answer;
    }
}

위와 같이 풀어서 제출을 해보았지만 틀렸다. 암만 이유를 생각해도 못 찾겠어서 골머리를 앓던 중, 멍청하게도 diff의 데이터 타입을 int로 했다는 것을 깨닫고 수정했더니 문제를 해결할 수 있었다.

문제 해결

public class Solution {
    public long solution(int a, int b) {     
        long answer = 0;
        
        long diff = 0;
        
        if(a <= b) diff = b - a + 1;
        else diff = a - b + 1;
        
        answer = (a + b) * diff / 2;
        
        return answer;
    }
}

0개의 댓글