| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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
- 이벤트
- JavaScript
- 메가바이트스쿨
- 코딩테스트
- 공식문서
- 자바스크립트
- 패스트캠퍼스
- react
- CSS
- GIT
- 자료구조
- 모던 딥 다이브 자바스크립트
- 입문
- 개발 공부
- 모던 자바스크립트 딥 다이브
- 리액트
- styled-components
- useMemo
- TypeScript
- 개발자취업부트캠프
- Github
- MegabyteSchool
- useRef
- 프로그래머스
- next.js
- 알고리즘
- 국비지원교육
- 프론트엔드
- 비전공자
- 내일배움카드
Archives
- Today
- Total
개발 기록 남기기✍️
[프로그래머스] 두 정수 사이의 합 본문
🗒️ 문제 설명
두 정수 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 |
❇️ 나의 풀이
- 먼저 early return을 통해 a와 b 값이 같을 때는 바로 a를 리턴한다.
- a,b의 대소 관계 판별은 잠시 제쳐두고, a < b라는 전제 하에 sum 함수를 작성한다.
- i는 a에서 시작해서 b가 될때까지 answer에 i 값을 더해준다.
- a와 b의 대소 관계를 확인하고, 순서에 맞게 sum 함수에 인자를 전달한다.
function solution(a, b) {
if (a === b) return a;
return a > b ? sum(b,a) : sum(a,b)
function sum(a,b) {
let answer = 0;
for(let i = a; i <= b; i++){
answer += i
}
return answer
}
}
💟 본받고 싶은 코드
function adder(a, b){
var result = 0
//함수를 완성하세요
return (a+b) * (Math.abs(a-b)+1) / 2;
}
역시 사람은 지식이 있어야.... ^,^ 손이 덜 고생한다... 이 공식을 활용하면 a===b 인 경우를 고려하지 않아도 되고, for문을 돌지 않고도 훨씬 더 빠르게 연산을 수행할 수 있다.

다들 똑같은 맘~~~
'코딩 테스트 연습' 카테고리의 다른 글
| [프로그래머스] 문자열 다루기 기본 (0) | 2023.07.06 |
|---|---|
| [프로그래머스] 달리기 경주 (0) | 2023.07.02 |
| [프로그래머스] 옹알이(1) (0) | 2023.01.07 |
| [프로그래머스] 유한소수 판별하기 (0) | 2023.01.07 |
| [프로그래머스] 치킨 쿠폰 (0) | 2023.01.06 |