이 글은 인프런의 js알고리즘 강의를 듣고 문제를 풀이한 게시글입니다.
강의의 저작권 때문에 문제를 게시 하지는 못하지만 풀이는 게시해도 된다 해서 풀이라도 올릴 예정입니다.
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(2, 5, 11));
최솟값을 Math.min 문법이 아닌 sort 문법을 이용하지 않고 if문 만으로 문제를 풀어보는 시간을 가졌습니다. if문으로만 푼 이유는 if문을 공부하는 시간을 가지기 위함입니다.
function solution(a, b, c) {
let answer = 'YES',
max;
let sum = a + b + c;
if (a < b) max = b;
else max = a;
if (max < c) max = c;
if (sum - max <= max) answer = 'NO';
return answer;
}
console.log(solution(13, 33, 17));
이번 문제는 삼각형인지 아닌지에 대한 answer을 작성하는 문제였습니다.
문제풀이: 삼각형은 두변의 길이를 합한 값이 가장 긴 변보다 커야 합니다.
그렇기 때문에 필요한 값은 두변의 길이의 합이 필요할것이고 가장 큰 길이의 변이 필요합니다.
if문으로 최댓값인 max의 변수의 값을 할당합니다.
그리고 나서 세변의 길이의 값에서 max를 빼 두변의길이의 합을 구합니다.
마지막으로 삼각형이 될수있는 조건인 두변의 길이의 합이 max 보다 커야합니다. 작거나 같으면 No를 출력하게 answer에 할당합니다. 이상입니다.
function Das(N) {
let answer;
answer = N / 12;
answer = Math.ceil(answer);
return answer;
}
console.log(Das(178));
풀이: 연필다스는 12개입니다. 매개변수 N은 사람수입니다.
매개변수 N / 12 개 를 한뒤에 나머지가 있으면 한 다스가 더 있어야 합니다.
그렇기 때문에 Math.ceil 이라는 올림 js문법을 활용하여 올려주어 문제를 풀어봤습니다.