문제 설명
https://school.programmers.co.kr/learn/courses/30/lessons/12912

제한 사항

입출력 예

풀이
class Solution {
public long solution(int a, int b) {
long min = Math.min(a, b);
long max = Math.max(a, b);
return (long)((max + 1) * max / 2 - (min + 1) * min / 2) + min;
}
}
후기
형변환 때문에 조금 고생했다. 간단한 문제이지만 for문은 절대 안 쓰려고 1부터 큰 수까지의 합에서 1부터 작은 수까지의 합을 뺀 것으로 답을 구했는데 여기서 포인트는 나누기 2를 하면 실수형이 나올 가능성이 있는데 이를 미연에 방지하고자 나눗셈보다 곱셈을 먼저 하는 것이다. 답은 무조건 정수형이 나올 것을 알고 있으니 나눗셈 계산을 마지막에 해서 실수형 계산을 피한 것이다.
'코딩테스트 (프로그래머스) > Java' 카테고리의 다른 글
| [프로그래머스][JAVA][Lv. 3] 정수 삼각형 (0) | 2023.08.27 |
|---|---|
| [프로그래머스][JAVA][Lv. 1] 나누어 떨어지는 숫자 배열 (0) | 2023.08.27 |
| [프로그래머스][JAVA][Lv. 1] 문자열 내 마음대로 정렬하기 (0) | 2023.08.23 |
| [프로그래머스][JAVA][Lv. 1] 문자열 내림차순으로 배치하기 (0) | 2023.08.22 |
| [프로그래머스][JAVA][Lv. 1] 문자열 다루기 기본 (0) | 2023.08.22 |