코린이의 소소한 공부노트

[프로그래머스/Lv.1] 두 정수 사이의 합 본문

코딩테스트 풀이/JAVA

[프로그래머스/Lv.1] 두 정수 사이의 합

무지맘 2022. 11. 26. 00:15

1. Input

1) 정수 a

2) 정수 b

 

2. Output

1) ab 사이에 있는 모든 정수의 합

 

3. Constraint

1) ab가 같은 경우는 둘 중 아무 수나 반환

2) ab-10,000,000 이상 10,000,000 이하인 정수

3) ab의 대소관계는 정해져있지 않다.

 

4. Example

Input: a=5, b=3 -> Output: 12

설명: 5 + 4 + 3 = 12

 

5. Code

1) 첫 코드(2022/??)

long answer = 0;
if(a == b) return a;
else return (long)(Math.abs(a-b)+1) * (long)(a+b) / 2;

2) return문 1개로 변경(2022/11/26)

return (long)(Math.abs(a-b)+1) * (long)(a+b) / 2;

  - 혹시 모를 overflow 방지를 위해 /2 연산을 중간에 넣었는데 몇가지 케이스에서 에러 발생. /2 앞에 쓴 것이 홀수일 경우 loss가 발생해서 그럼