TODO
프로그래머스 알고리즘 문제풀기- cs특강 => 내일
푼 문제 중 시간이 좀 걸린 문제만 올림.
아 그리고 vsc에서 node실행할때 ctrl+alt+N 하면 바로 실행됨! 까먹지 말기!
function solution(sides) {
let max_side = 0;
let sum_all_side = 0;
for (let i in sides) {
sum_all_side += sides[i];
if (sides[i] > max_side) {
max_side = sides[i];
}
}
let sum_side = sum_all_side - max_side;
if (max_side < sum_side) {
return 1;
} else {
return 2;
}
}
sides = [199, 72, 222];
console.log(solution(sides));
결과가 하나만 틀리게 나와서 무엇이 문제인가 생각해봤더니 중복된 숫자가 있는 경우에는 결과가 다르게 나오는 것을 꺠닫고 코드를 수정하느라 조금 오래걸렸다.
function solution(numbers) {
let max_num = 0;
let index = 0;
let next_num = 0;
for (let i in numbers) {
if (numbers[i] > max_num) {
max_num = numbers[i];
index = i;
}
}
numbers.splice(index, 1);
for (let j in numbers) {
if (numbers[j] > next_num) {
next_num = numbers[j];
}
}
return max_num * next_num;
}
console.log(solution([1, 2, 3, 4, 5]));
console.log(solution([0, 31, 24, 10, 1, 9]));
console.log(solution([1, 9, 9, 5, 2]));