인프런 - 자바스크립트 알고리즘 문제풀이(코딩테스트 대비)
1. 세 수 중 최소값
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));
2. 삼각형 판별하기
내 풀이
function solution(a, b, c) {
let answer = "YES",
max;
if (a > b) max = a;
else max = b;
if (c > max) {
// c가 가장 긴변일 때
max = c;
if (c >= a + b) {
answer = "NO";
}
} else {
// c가 가장 긴 변이 아닐 때
if (max == a && b + c <= a) {
// a가 가장 긴변 일 때
answer = "NO";
}
if (max == b && a + c <= b) {
//b가 가장 긴변 일 때
answer = "NO";
}
}
return answer;
}
console.log(solution(6, 7, 11));
강사님 풀이
function solution(a, b, c) {
let answer = "YES",
max;
let sum = a + b + c;
if (a > b) max = a;
else max = b;
if (c > max) max = c;
if (sum - max <= max) answer = "NO";
return answer;
}
console.log(solution(6, 7, 11));
sum - max 로 최댓값을 제외한 나머지 변의 길이를 구하고 max와 비교한다.
3. 연필개수
function solution(n) {
let answer = Math.ceil(n / 12);
return answer;
}
console.log(solution(178));
4. 1부터 N까지의 합
function solution(n) {
let answer = 0;
for (let i = 1; i <= n; i++) {
answer += i;
}
return answer;
}
console.log(solution(10));
5. 최솟값 구하기
function solution(arr) {
let answer,
min = arr[0];
for (let i = 0; i < arr.length; i++) {
if (arr[i] < min) min = arr[i];
}
answer = min;
return answer;
}
let arr = [5, 7, 1, 3, 2, 9, 11];
console.log(solution(arr));
min = Number.Max_SAFE_INTEGER;
으로 최솟값을 안전한 최대 정수값으로 세팅해놓고 시작해도 된다.
내장 함수로 구하는 방법
function solution(arr) {
let answer = Math.min(...arr);
// or
// let answer = Math.min.apply(null, arr);
return answer;
}
let arr = [5, 7, 1, 3, 2, 9, 11];
console.log(solution(arr));
6. 홀수
function 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;
}
let arr = [12, 77, 38, 41, 53, 92, 85];
console.log(solution(arr));
7. 10부제
function solution(day, arr) {
let answer = 0;
for (let i of arr) {
if (i % 10 === day) answer++;
}
return answer;
}
arr = [25, 23, 11, 47, 53, 17, 33];
console.log(solution(3, arr));
'FRONT > JAVASCRIPT' 카테고리의 다른 글
[Javascript] 알고리즘 기본 문제 - 문자 찾기 (0) | 2022.03.22 |
---|---|
[Javascript] 알고리즘 기본 문제 -일곱난쟁이 (0) | 2022.03.22 |
415 에러, Blob 에러 해결 과정 (0) | 2022.02.17 |
[javascript] Blob 객체란? (0) | 2022.02.17 |
[Javascript] 스크롤 맨 위, 아래로 내리기 (0) | 2022.02.08 |