문자열 안에 문자열
문자열 str1, str2가 매개변수로 주어집니다. str1 안에 str2가 있다면 1을 없다면 2를 return하도록 solution 함수를 완성해주세요.
- 1 ≤ str1의 길이 ≤ 100
- 1 ≤ str2의 길이 ≤ 100
- 문자열은 알파벳 대문자, 소문자, 숫자로 구성되어 있습니다.
function solution(str1, str2) {
for(let str1Idx = 0; str1Idx < str1.length; str1Idx++) {
const str1Item = str1[str1Idx];
let isAllEqual = true;
for(let str2Idx = 0; str2Idx < str2.length; str2Idx++) {
if(str1[str1Idx+str2Idx] !== str2[str2Idx]) {
isAllEqual = false;
}
}
if(isAllEqual) {
return 1;
}
}
return 2;
}
// 다른 사람의 풀이
function solution(str1, str2) {
for(let str1Idx = 0; str1Idx < str1.length; str1Idx++) {
const str1Item = str1[str1Idx];
let isAllEqual = true;
for(let str2Idx = 0; str2Idx < str2.length; str2Idx++) {
if(str1[str1Idx+str2Idx] !== str2[str2Idx]) {
isAllEqual = false;
str1Idx = str1Idx + str2Idx;
break;
}
}
if(isAllEqual) {
return 1;
}
}
return 2;
}
function solution(str1, str2) {
return str1.split(str2).length > 1 ? 1 : 2
}
function solution(str1, str2) {
return str1.indexOf(str2) === -1 ? 2 : 1;
}
function solution(str1, str2) {
return str1.includes(str2) ? 1 : 2;
}
<다른 사람의 풀이에 대한 이해>
splite()
indexOf()
includes()
제곱수 판별하기
어떤 자연수를 제곱했을 때 나오는 정수를 제곱수라고 합니다. 정수 n이 매개변수로 주어질 때, n이 제곱수라면 1을 아니라면 2를 return하도록 solution 함수를 완성해주세요.
- 1 ≤ n ≤ 1,000,000
function solution(n) {
for(let i = 1; ; i++) {
if(i * i === n) return 1;
if(i * i > n) return 2;
}
}
// 다른 사람의 풀이
function solution(n) {
return Number.isInteger(Math.sqrt(n)) ? 1 : 2;
}
function solution(n) {
return Math.sqrt(n) % 1 === 0 ? 1 : 2;
}
<다른 사람의 풀이에 대한 이해>
isInteger()
sqrt()
세균 증식
어떤 세균은 1시간에 두배만큼 증식한다고 합니다. 처음 세균의 마리수 n과 경과한 시간 t가 매개변수로 주어질 때 t시간 후 세균의 수를 return하도록 solution 함수를 완성해주세요.
- 1 ≤ n ≤ 10
- 1 ≤ t ≤ 15
function solution(n, t) {
return 2 ** t * n;
}
// 다른 사람의 풀이
function solution(n, t) {
return n << t;
}
function solution(n, t) {
return n*Math.pow(2,t);
}
<다른 사람의 풀이에 대한 이해>
비트 연산자
pow()
문자열 정렬하기 (2)
영어 대소문자로 이루어진 문자열 my_string이 매개변수로 주어질 때, my_string을 모두 소문자로 바꾸고 알파벳 순서대로 정렬한 문자열을 return 하도록 solution 함수를 완성해보세요.
- 0 < my_string 길이 < 100
function solution(my_string) {
const answer = my_string.toLowerCase();
const strArry = [...answer];
return strArry.sort().join('');
}
// 다른 사람의 풀이
function solution(my_string) {
return my_string.toLowerCase().split('').sort().join('');
}
function solution(my_string) {
return Array.from(my_string.toLowerCase()).sort().join('');
}
1) 문자를 toLowerCase()를 통해 소문자로 바꾸고,
2) 스프레드 문법을 통해 문자열들을 하나의 문자들로 해체하여 배열의 요소로 넣는다.
3) 메소드 sort()를 활용하여 정렬한 후
4) join('')를 사용하여 배열의 요소들 사이에 ' '을 넣어 문자열로 바꿔준다.
<다른 사람의 풀이에 대한 이해>
splite()
Array.from
참고 영상
'코딩테스트 > 프로그래머스 0단계 - 입문' 카테고리의 다른 글
프로그래머스 0단계 - Day20 수학, 시뮬레이션, 문자열, 사칙연산 (0) | 2024.03.24 |
---|---|
프로그래머스 0단계 - Day19 문자열, 배열, 조건문 (0) | 2024.03.23 |
프로그래머스 0단계 - Day17 문자열, 수학, 조건문, 배열, 사칙연산 (0) | 2024.03.22 |
프로그래머스 0단계 - Day16 문자열, 수학, 배열, 조건문 (0) | 2024.03.21 |
프로그래머스 0단계 - Day15 문자열, 해시, 배열, 수학 (0) | 2024.03.21 |
댓글