두 정수 사이의 합 (프로그래머스) - 완료
2019-05-17 시작!
2019-05-17 성공! 4점 획득!
문제 :
[방법 1]
* big = a와 b 중 큰 값, sml = a와 b 중 작은 값, dts = big과 sml의 거리
1. a와 b 중 어떤 값이 더 큰지 비교한다.
2. big == sml 이면 answer값을 big으로 정하고 즉시 return한다.
3. dts만큼 반복하며 sml에 1씩 더하면서 누적한다
ㄴ big과 sml이 음수면 어떻게 해? > 음수에는 -1을 곱해서 더한 다음에 dst에 저★장
ㄴ sml의 초기값 = a와 b중 작은 값
ㄴ ex) sml=3, big=5인 경우 3+(4+5) == 초기값+(반복누적)
4. 결과값을 리턴한다.
[방법 2] : a와 b의 상태에 따라 가우스 공식 활용
1. 음수-음수
> [ { ( ( sml * (sml - 1) ) / 2 ) - ( ( big * (big + 1) ) / 2 ) } ] * -1
2. 양수만 있는 경우 ( 0 없음 )
> { ( ( big * (big + 1) ) / 2 ) - ( ( sml * (sml - 1) ) / 2 ) }
3. 두 숫자가 같은 경우 ( 0 포함 )
> return big;
4. 음수와 양수가 모두 있는 경우
> { ( ( big * (big + 1) ) / 2 ) - ( ( sml * (sml - 1) ) / 2 ) }
내 코드 :
수행결과 :
1차 실패! - [방법1]
2차 실패! - [방법1]
> 수정내용 : int 변수를 long으로 변경 [방법 1]
3차에 성공! [방법 2] 사용!
구글링 코드 : -