알고리즘 풀이

김재우·2023년 9월 11일
0
post-thumbnail

이 글은 인프런의 js알고리즘 강의를 듣고 문제를 풀이한 게시글입니다.
강의의 저작권 때문에 문제를 게시 하지는 못하지만 풀이는 게시해도 된다 해서 풀이라도 올릴 예정입니다.

  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(2, 5, 11));

최솟값을 Math.min 문법이 아닌 sort 문법을 이용하지 않고 if문 만으로 문제를 풀어보는 시간을 가졌습니다. if문으로만 푼 이유는 if문을 공부하는 시간을 가지기 위함입니다.

  1. 최솟값을 구하는 알고리즘의 응용 문제입니다.
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에 할당합니다. 이상입니다.

  1. 이번 문제는 Math 문법을 잘 활용할 수 있는지 물어보는 문제입니다.
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문법을 활용하여 올려주어 문제를 풀어봤습니다.

profile
프론트엔드 꾸준개발자입니다.

0개의 댓글