티스토리 뷰
728x90
반응형
문제 링크
두 정수 사이의 합
https://programmers.co.kr/learn/courses/30/lessons/12912
문제 설명
두 정수 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의 대소관계는 정해져있지 않습니다.
입출력 예시
a | b | return |
3 | 5 | 12 |
3 | 3 | 3 |
5 | 3 | 12 |
풀이 방법
해당 문제는 두 수를 1씩 증가하는 등차수열로 생각하고 생각하면 쉽다.
- 등차수열 합 공식은 n *(첫째항 + 마지막 항) /2이다.
- 문제에 적용시켜보면 | a-b | * ( a + b ) /2 하면 답이 나온다.
풀이
class Solution {
public long solution(int a, int b) {
return (Math.abs(a-b)+1) *(long)(a+b)/2;
}
}
- 중간에 long타입으로 캐스팅해주지 않으면 int값을 벗어나기 때문에 틀린다.
- 반복문을 통해서 풀어도 되지만 시간복잡도가 굉장히 늘어난다.
728x90
반응형
'Problem Solving' 카테고리의 다른 글
[프로그래머스/Java] 모의고사 (1) | 2020.12.08 |
---|---|
[프로그래머스 / Java] 키패드 누르기 (1) | 2020.12.04 |
[SWEA / JAVA] 10966 물놀이를 가자. (3) | 2020.12.03 |
[프로그래머스/JAVA] 삼각 달팽이 (1) | 2020.12.03 |
[프로그래머스/Java] 문자열 내 p와 y의 개수 (1) | 2020.12.02 |
250x250
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 삼각달팽이
- yyyy-MM-dd
- 오버로딩
- local cache
- 제네릭 타입
- for of
- 01타일
- vaild
- java
- RGB거리
- javascript
- 1629
- 제네릭(Generic)
- 청소년상어
- DP
- 삼성기출
- 키패드 누르기
- 프로그래머스
- 반례
- 19236
- 백준
- 문자열 압축
- 카카오 인턴십
- 삼성 코테
- 카카오 코딩 테스트
- 날짜 유효성
- 가장 큰 수
- spring cache
- 39회차
- 커링
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
글 보관함