daily 알고리즘 : 프로그래머스 0 level 14일차

소히·2022년 11월 14일
0

알고리즘Daily

목록 보기
18/22
post-thumbnail

세균 증식


문제

어떤 세균은 1시간에 두배만큼 증식한다고 합니다. 처음 세균의 마리수 n과 경과한 시간 t가 매개변수로 주어질 때 t시간 후 세균의 수를 return하도록 solution 함수를 완성해주세요.


제한사항

  • 1 ≤ n ≤ 10
  • 1 ≤ t ≤ 15

입출력 예

  • 처음엔 2마리, 1시간 후엔 4마리, 2시간 후엔 8마리, ..., 10시간 후엔 2048마리가 됩니다. 따라서 2048을 return합니다.

풀이

function solution(n, t) {
  let i = 1;
  let answer = n;
  while (i <= t) {
    answer *= 2;
    i++;
  }
  return answer;
}

n의 배수 고르기


문제

정수 n과 정수 배열 numlist가 매개변수로 주어질 때, numlist에서 n의 배수가 아닌 수들을 제거한 배열을 return하도록 solution 함수를 완성해주세요.


제한사항

  • 1 ≤ n ≤ 10,000
  • 1 ≤ numlist의 크기 ≤ 100
  • 1 ≤ numlist의 원소 ≤ 100,000

입출력 예

  • numlist에서 12의 배수만을 남긴 [120, 600, 12, 12]를 return합니다.

풀이

function solution(n, numlist) {
  return numlist.filter((el) => el % n === 0);
}


자릿수 더하기


문제

정수 n이 매개변수로 주어질 때 n의 각 자리 숫자의 합을 return하도록 solution 함수를 완성해주세요


제한사항

  • 0 ≤ n ≤ 1,000,000

입출력 예

  • 9 + 3 + 0 + 2 + 1 + 1 = 16을 return합니다.

풀이

function solution(n) {
  return String(n)
    .split("")
    .reduce((a, b) => Number(a) + Number(b),0);
}

문자열안에 문자열


문제

문자열 str1, str2가 매개변수로 주어집니다. str1 안에 str2가 있다면 1을 없다면 2를 return하도록 solution 함수를 완성해주세요.


제한사항

  • 1 ≤ str1의 길이 ≤ 100
  • 1 ≤ str2의 길이 ≤ 100

입출력 예

  • "ab6CDE443fgh22iJKlmn1o" str1에 str2가 존재하므로 1을 return합니다.

풀이

function solution(str1, str2) {
  return str1.includes(str2) ? 1 : 2;
}

문자열 정렬하기 (2)


문제

영어 대소문자로 이루어진 문자열 my_string이 매개변수로 주어질 때, my_string을 모두 소문자로 바꾸고 알파벳 순서대로 정렬한 문자열을 return 하도록 solution 함수를 완성해보세요.


제한사항

  • 0 < my_string 길이 < 100

입출력 예

  • "heLLo"를 모두 소문자로 바꾸면 "hello"이고 이를 알파벳 순으로 정렬하면 "ehllo"입니다.

풀이

function solution(my_string) {
  return my_string.toLowerCase().split("").sort().join("");
}

0개의 댓글