반응형
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 | 29 | 30 |
Tags
- 함수형 프로그래밍
- commonjs와 ecmascript modules(esm)
- nuxt universal rendering
- 참조형 props의 default
- d3 지도 툴팁
- component is already mounted please use $fetch instead.
- $fetch
- 참조형 default
- 인터넷 거버넌스
- git
- firebase id 자동
- vue composable 함수
- d3 지도 확대/축소
- d3 지도
- pm2 업데이트 에러
- reflow
- d3 지도 타입스크립트
- 화살표 함수 중괄호
- Learning React
- repaint
- 화살표 함수 {}
- ToDo
- pm2 버전 충돌
- cloud firestore id auto increment
- vue3 drag and drop
- in-memory pm2 is out-of-date
- vuedraggable
- vue draggable 차트 안나옴
- ecmascript modules(esm)
- vue 컴포저블 함수
Archives
- Today
- Total
빵 입니다.
[프로그래머스] 짝수의 합 본문
반응형
문제 설명
정수 n이 주어질 때, n이하의 짝수를 모두 더한 값을 return 하도록 solution 함수를 작성해주세요.
제한 사항
- 0 < n ≤ 1000
입출력 예
n | result |
---|---|
10 | 30 |
4 | 6 |
나의 풀이
function solution(n) {
let answer = 0;
for (let i = 1; i <= n; i++) {
if (i % 2 === 0) {
answer += i
}
}
return answer;
}
// 너무... 머리를 안굴리고(?) 그냥 아는 문법만 써서, 문제 풀기에만 초점을 맞춘 것 같다 ㅜㅜ
다른 사람 풀이1
function solution(n) {
var half = Math.floor(n/2);
return half*(half+1);
}
// 수열 공식을 이용하신 분... 코드도 깔끔하고, 해답도 정확하다.
다른 사람 풀이2
function solution(n) {
var answer = 0;
for(let i=2 ; i<=n ; i+=2)
answer += i;
return answer;
}
// 2를 기준으로 증가하니까 반복 횟수를 줄일 수 있구나!
다른 사람 풀이3
function solution(n) {
// 배열채우기
// '0'.repaet(n) // Array(n) : (empty로 채워짐)
// 각각을 나누기
// '0'.repaet(n).split('') // Array(100).fill() : (undefined로 채워짐)
// 숫자로 채우기
// Array(n).fill().map((_, index) => index) : 보통 value를 넣지만 사용하지않기에 _로 대체
// 시작 숫자를 0이 아닌 1로 설정
// Array(n).fill().map((_, index) => index + 1)
// 배열에서 짝수만 뽑아내기(v => v % 2 === 0)
// Array(n).fill().map((_, index) => index + 1).filter(v => v % 2 === 0)
// 나온 값 모두 더하기
// Array(n).fill().map((_, index) => index + 1).filter(v => v % 2 === 0).reduce((a , c) => a + c)
// 타입에러 발생 방지를 위해 리듀서의 초기값을 설정
// Array(n).fill().map((_, index) => index + 1).filter(v => v % 2 === 0).reduce((a , c) => a + c, 0)
return Array(n)
.fill()
.map((_, index) => index + 1)
.filter(v => v % 2 === 0)
.reduce((a, c) => a + c, 0);
}
// 이 분은 풀이까지 적어주셨다.
// 대체 어떻게 이런 생각을 가지고 계신거죠...👍🏻
반응형
'알고리즘과 자료구조 > 알고리즘' 카테고리의 다른 글
[프로그래머스] 양꼬치 (1) | 2023.05.10 |
---|---|
[프로그래머스] 배열의 평균값 (0) | 2023.05.10 |
[프로그래머스] 각도기 (0) | 2023.05.10 |
[프로그래머스] 몫 구하기 (0) | 2023.05.10 |
역시... 공부를 해야 해. 알고리즘을. (0) | 2023.05.09 |