JavaScript/JS_Algorithm 28

[인프런 - JS 알고리즘 문제풀이] basic question8

주어진 arr 숫자들 중에서 합이 100이 되는 숫자들의 집합을 골라보자. 코드를 작성해보자. functon solution(arr) { let answer = arr; let sum = arr.reduce((a, b) => a + b, 0); for (let i = 0; i < 8; i++) { for (let j = i + 1; j < 9; j++) { if ((sum - (arr[i] + arr[j])) === 100) { arr.splice(j, 1); arr.splice(i, 1); } } } return answer; } let arr = [20, 7, 23, 19, 10, 15, 25, 8, 13]; console.log(solution(arr)); 참고: https://www.inflear..

[인프런 - JS 알고리즘 문제풀이] basic question7

day값이 주어지면 arr 숫자들 중에서 일의자리가 day값과 겹치는 숫자의 갯수를 고른다. 코드를 작성해보자. function solution(day, arr) { let answer = 0; for (let x of arr) { if (x % 10 === day) answer++; } return answer; } arr = [25, 23, 11, 47, 53, 17, 33]; console.log(solution(3, arr)); 참고: https://www.inflearn.com/course/%EC%9E%90%EB%B0%94%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8-%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98-%EB%AC%B8%EC%A0%9C%ED%92..

[인프런 - JS 알고리즘 문제풀이] basic question6

주어진 숫자값에서 홀수들만 골라서 합을 구하고 제일 작은 홀수를 구해보자. functon solution(arr) { let answer = []; let sum = 0, min = Number.MAX_SAFE_INTEGER; for (let x of arr) { if (x % 2 === 1) { sum += x; if (x < min) min = x; } } answer.push(sum); answer.push(min); return answer; } arr = [12, 33, 44, 55, 66, 77, 99]; console.log(solution(arr)); 참고: https://www.inflearn.com/course/%EC%9E%90%EB%B0%94%EC%8A%A4%ED%81%AC%EB%A6..

[인프런 - JS 알고리즘 문제풀이] basic question5

7개의 숫자값이 주어지면 그 중에서 가장 작은 숫자값을 골라보자. function solution(arr) { let answer, min = Number.MAX_SAFE_INTEGER; for (let i = 0; i < arr.length; i++) { if (arr[i] < min) min = arr[i]; } answer = min; return answer; } let arr = [3, 4, 5, 8, 10, 11, 20]; console.log(solution(arr)); // ...을 이용해서 코드 작성 function solution(arr) { let answer = Math.min(...arr); return answer; let answer = Math.min.apply(null, a..

[인프런 - JS 알고리즘 문제풀이] basic question3

ceil 이란 함수를 이용해서 소수점을 무조건 올림을 해주는 코드를 작성해보자. function solution(n) { let answer = Math.ceil(n / 12); return answer; } console.log(solution(178)); ceil 주어진 실수 x의 값에서 소수점을 무조건 올림해준다. 소수점이 없는 정수인 경우에는 올림없이 그대로 표현한다. 반올림 함수와 마찬가지로 정수 단위 이상 올림할 때는 10단위 값을 나누고 곱하는 원하는 값을 구한다. let x = 3.8; Math.ceil(x); => 4 let x = 3.01; Math.ceil(x); => 4 Math.ceil(-3.5); =>-3 round 주어진 실수 x값에서 정수에 가까운 수로 반올림해서 정수형으로 ..

[인프런 - JS 알고리즘 문제풀이] basic question

줄에서 가장 작은 수를 출력하는 코드를 작성해본다. function solution(a, b, c) { let answer; if (a < b) answer = a; else answer = b; if (c < answer) answer = c; return answer; } console.log(solution(6, 5, 11)); 참고: https://www.inflearn.com/course/%EC%9E%90%EB%B0%94%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8-%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98-%EB%AC%B8%EC%A0%9C%ED%92%80%EC%9D%B4/dashboard 자바스크립트 알고리즘 문제풀이(코딩테스트 대비) - 인프런 | ..

[인프런 - JS 알고리즘 문제풀이] Queue 판단2

수업계획을 짜보자. split을 한 번 해주고 queue에서 x가 포함되어 있다치자. 그러면 만약에 queue에서 shift 한게 뺀게 x(plan중에 한개)와 같지 않으면 NO를 리턴하고 만약에 plan과 queue를 비교가 다 끝나고도 queue의 길이가 0보다 크다면 요소가 남아있다는 것이기 때문에, "NO"를 리턴한다. 아래 코드를 보자. 참고: https://www.inflearn.com/course/%EC%9E%90%EB%B0%94%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8-%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98-%EB%AC%B8%EC%A0%9C%ED%92%80%EC%9D%B4/dashboard 자바스크립트 알고리즘 문제풀이(코딩테스트 대비) -..

[인프런 - JS 알고리즘 문제풀이] Queue 판단1

Queue란 무엇인가? 일반 적인 줄이라고 생각하면 편한데 영화관 매표소에서 순서를 기다릴 때 줄을 서는데, 새로 온사람은 맨 뒤에 서고 제일 앞 사람은 필요한 일을 한 후에 빠지게 된다. 이렇게 뒤에서 들어가고 앞에서 빠지는 구조를 Queue라고 한다. 먼저 들어간 사람이 먼저 빠져 나가는 구조 First In Firs Out(FIFO)구조인 것이다. 자바스크립트의 배열로 따지자면 push와(맨뒤에서 추가되고) shift(맨 앞에서 빠지는) 메소드만 있다고 생각하면 된다. Stack과 마찬가지로써 데이터를 일시적으로 쌓기 위해서 두는 구조 제일 먼저 넣은 데이터가 가장 먼저 꺼내지는 구조(선입선출(FIFO) 데이터를 넣는 작업을 인큐(enqueue), 데이터를 꺼내는 작업은 디큐(dequeue) 데이터..