Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 프로그래머스
- 인프런
- 우아한테크코스
- 람다
- Design Pattern
- Singleton
- 독서리뷰
- 카카오톡1차
- 후기
- spring
- javascript
- Head First Design Pattern
- Java
- 회고
- study
- 오라클
- 인코딩
- 에러
- JPA
- 디자인패턴
- Oracle
- 자바
- Eclipse
- 인강리뷰
- 이펙티브자바
- 알고리즘
- 공부
- 매핑
- math
- 독서
Archives
- Today
- Total
Lee's Grow up
[자바/알고리즘] 프로그래머스 두 정수 사이의 합 본문
반응형
문제 설명
두 정수 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 |
나의 풀이
class Solution {
public long solution(int a, int b) {
long answer = 0;
int maxNum = (a >= b ? a : b);
int minNum = (a <=b ? a : b);
for(int i = minNum ; i <= maxNum; i++){
answer+= i;
}
return answer;
}
}
풀이 설명
대학교 시절 한참 삼항 연산자를 배울때 풀었던 문제인지라, 삼항 연산자를 통해 최대 값과 최소값을 구해 누계를 하는 방식으로 풀었던거 같다.
다른 사람들은 Math.min()
, 함수와 Math.max()
함수를 통해 최대값, 최소값을 구하고, 값 누계 부분은 등차수열의 합 공식을 사용해 `(b - a + 1 ) * ( a - b ) / 2; 값을 리턴한 사람들도 많았다.
역시 프로그래밍의 연산 최적화랑 수학은 밀접한 관계가 있는거 같다.
반응형
'알고리즘 > 프로그래머스' 카테고리의 다른 글
[자바/알고리즘] 프로그래머스 문자열 내림차순으로 배치하기 (0) | 2019.12.13 |
---|---|
[자바/알고리즘] 프로그래머스 문자열 내 p와 y의 개수 (0) | 2019.12.10 |
[자바/알고리즘] 프로그래머스 자릿수 더하기 (0) | 2019.11.28 |
[자바/알고리즘] 프로그래머스 자연수 뒤집어 배열로 만들기 (0) | 2019.11.28 |
[자바/알고리즘] 프로그래머스 정수 내림차순으로 배치하기 (0) | 2019.11.28 |
Comments