일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- fullcalendar
- 제네릭
- jQueryUI
- fetchjoin
- calendar
- Generic
- namedQuery
- 대량쿼리
- springflow
- JPA
- 벌크연산
- JPQL
- 엔티티직접사용
- 제너릭
- joinfetch
- LIST
- 프로젝트생성
- jQuery값전송
- paging
- Hibernate
- javaservlet
- jscalendar
- 자바서블릿
- 페이징
- 페치조인
- values()
- javascriptcalendar
- JQuery
- 스프링데이터흐름
- jQuery값전달
- Today
- Total
가자공부하러!
두 정수 사이의 합 (프로그래머스) - 완료 본문
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] 사용!
구글링 코드 : -
'공부 > 알고리즘' 카테고리의 다른 글
문자열 내 p와 y의 개수 (프로그래머스) - 완료 (0) | 2019.05.20 |
---|---|
문자열 내 마음대로 정렬하기 (프로그래머스) - 완료 (0) | 2019.05.17 |
나누어 떨어지는 숫자 배열 (프로그래머스) - 완료 (0) | 2019.05.17 |
같은 숫자는 싫어 - 연속되는 숫자 제거 (프로그래머스) - 완료 (2) | 2019.05.17 |
날짜로 요일 찾기 (프로그래머스) - 완료 (0) | 2019.05.16 |