일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 타입스크립트
- mongoose
- 메소드
- 항해99
- reduce
- TypeScript
- wil
- java
- ubuntu
- JavaScript
- Joi
- Nodejs
- CORS
- it
- AWS
- JWT
- Node.js
- Load Balancer
- elb
- 자바스크립트
- 노마드코더
- mongodb
- npm
- MYSQL
- https
- 조건문
- nginx
- nomadcoder
- 생활코딩
- 프로그래머스
- Today
- Total
목록프로그래머스 (16)
V-logue
function solution(arr) { var answer = arr.reduce( (a, b) => a + b,0); { } return answer/ arr.length; } reduce함수를 이용한 평균을 구하는 문제이다. arr값이 1부터 100까지라는 제한이 있지만, 크게 신경쓰지 않고 reduce로 누적값을 내준뒤 그 값을 배열의 길이만큼 나눠줬다.
대충 이런 문제다. function solution(a,b) { var week = ['SUN', 'MON', 'TUE', 'WED', 'THU', 'FRI', 'SAT']; var date = new Date(`2016,${a},${b}`); let day = date.getDay(); return week[day]; } 나는 date 객체로 이 문제를 풀었는데, 다 풀고나니 date객체가 다 알아서 해주는데 이건 알고리즘 문제를 푸는게 아니라, 객체 메소드 연습을 하는거라는 글을 보게됐다. 뭐가 맞는건지는 잘 모르겠지만, 일단 풀었으니 설명을 하자면 먼저 date객체에서 new Date( )를 이용하여 날짜와 시간을 표현할 수 있는데 다음과 같다 new Date() new Date(year, mont..
function solution(arr1, arr2) { for (let i = 0; i < arr1.length; i++) { for (let j = 0; j< arr1[i].length; j++) { arr1[i][j] += arr2[i][j] } } return arr1; } for문을 이용해서 풀면되는데, arr1[i][j]라는 느낌의 키워드가 참으로 오랫동안 생각나지 않았다. 그래서 한참을 찾아보던 중 정답인줄 모르고 봤던 게시물에서 for (let i = 0; i < arr1.length; i++) 라는 문장만 보고 바로 감을 잡게됐다. 먼저 arr1[i]값을 먼저 잡아주고, j값이 i와 동등하게 ++되면 안되기 때문에 j < arr1[i].length라고 값을 주었다. arr1[i][j]값에..
function solution(numbers) { return 45 - numbers.reduce((acc, curr) => acc + curr); } 별로 어렵지 않았던 문제인데, 처음에 무척이나 해맸던게 0 ≤ numbers의 모든 원소 ≤ 9 라는 문구에 사로잡혀서 리턴값으로 결과를 반환하지 않고 저것과 아주아주 비슷한 문장을 조금씩 바꿔가면서 변수를 줬기 때문에 너무나 오랜시간이 걸렸다. 그러다가, 설마해서 넣어본게 정답으로 인정됐는데, 조금 어이가 없었다. 0부터 9까지의 원소중 없는 숫자를 더하는건 그냥 0부터 9까지 더해준 값인 45에서 배열값을 모두 더한 acc +cur을 빼주면된다.
더보기 대충 이런 설명에 이런 예시가 있다. 먼저 최종적인 결과물부터 보자, function solution(absolutes, signs) { return absolutes.reduce( (acc, cur, i) => acc + cur * (signs[i] ? 1 : -1),0); } 솔직히 말하면, 음양 더하기는 스스로 직접풀지는 않았다. 대신 reduce라는 함수와 삼항연산자라는 개념에 대해서 배운 의미있는 시간이었다. 먼저 reduce 함수란 let result = arr.reduce(callback); let result = arr.reduce(callback, initValue); // option for initial value reduce(callback{콜백함수}, initValue{초기..
function solution(num) { if (num % 2 === 0) { return "Even"; } else { return "Odd"; } return answer; } 거의 지식이 없는 나도 쉽게 풀 수 있는 문제였다. 먼저 num값을 2로 나눈다음 그 나머지가 0이라면, Even이라는 값을 반환해주고, 그게 아니라면 Odd를 반환하는 문제였다. Ez
라는 조건과 로 시작하는 알고리즘 문제다. function solution(s) { let answer = ''; if (s.length % 2 == 0 ) { answer = s[s.length/2 - 1] + s[s.length/2]; } else{ // 홀수 answer = s[Math.floor(s.length/2)]; } return answer; } console.log(solution('abcde')) console.log(solution('qwer')) 먼저 answer값을 작은 따옴표' '으로 주고, 만약 s.length를 2로 나눈값이 0이라면, 공백안에 들어갈 str이 s.length를 2로 나누고 1을 빼준 위치의 배열과 그 다음배열이 출력되게 만들었고 그 다음, 2 == 0이 아니..