Level 0) 문자열, 수학, 조건문, 정렬

Doozuu·2023년 1월 17일
0

프로그래머스 (JS)

목록 보기
19/183

📌 문제 1. 문자열 안에 문자열

문제설명

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

풀이

includes()를 이용해 해당 문자열을 포함하는지 확인했다.

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

참고

해당 문자열로 split() 해주면 문자열을 포함할 때는 배열이 나뉘어서 원소가 1개 이상으로 늘어나고 포함하지 않을 때는 그대로 1개이다.
따라서 length를 이용해 배열 원소의 개수를 세서 포함관계를 확인할 수도 있다.

function solution(str1, str2) {
    return str1.split(str2).length > 1 ? 1 : 2
}



📌 문제 2. 제곱수 판별하기

문제설명

어떤 자연수를 제곱했을 때 나오는 정수를 제곱수라고 합니다. 정수 n이 매개변수로 주어질 때, n이 제곱수라면 1을 아니라면 2를 return하도록 solution 함수를 완성해주세요.

풀이

Math.sqrt()를 이용해 제곱수를 구하고, 제곱수가 정수인지 판별했다.
(parseInt() 대신 Math.floor()를 이용해도 됨.)

function solution(n) {
    return Math.sqrt(n) === parseInt(Math.sqrt(n)) ? 1 : 2;
}

참고

정수임을 판별할 때 Number.isInteger() 라는 것을 이용할 수도 있다.

function solution(n) {
  return Number.isInteger(Math.sqrt(n)) ? 1 : 2;
}

Math.sqrt(value) : 값의 제곱근 반환

Number.isInteger(value) : 값이 정수인지 아닌지 판별(T/F)



📌 문제 3. 세균 증식

문제 설명

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

풀이

처음 마리수에 시간에 따라 증식되는 정도를 곱하면 풀리는 단순 수학 문제.

function solution(n, t) {
    return n * (2 ** t);
}



📌 문제 4. 문자열 정렬하기 (2)

문제 설명

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

풀이

먼저 문자열을 소문자로 바꾸기 위해 toLowerCase()를 써주고, 배열에 담은 후 정렬하여 다시 문자열로 바꾸어준다.

function solution(my_string) {
  return my_string.toLowerCase().split('').sort().join('');
}
profile
모든게 새롭고 재밌는 프론트엔드 새싹

0개의 댓글