특정 문자 제거하기
문자열 my_string과 문자 letter이 매개변수로 주어집니다. my_string에서 letter를 제거한 문자열을 return하도록 solution 함수를 완성해주세요.
- 1 ≤ my_string의 길이 ≤ 100
- letter은 길이가 1인 영문자입니다.
- my_string과 letter은 알파벳 대소문자로 이루어져 있습니다.
- 대문자와 소문자를 구분합니다.
function solution(my_string, letter) {
let answer = '';
let i = 0;
while(i < my_string.length) {
if(my_string[i] !== letter) {
answer += my_string[i];
}
i++;
}
return answer;
}
// 다른 사람의 풀이
function solution(my_string, letter) {
const answer = my_string.split(letter).join('')
return answer;
}
function solution(my_string, letter) {
return my_string.replaceAll(letter, "");
}
function solution(my_string, letter) {
let reg = new RegExp(letter, 'g');
return my_string.replace(reg, '');
}
<다른 사람의 풀이에 대한 이해>
splite()
join()
replaceAll()
RegExp()
replace()
각도기
각에서 0도 초과 90도 미만은 예각, 90도는 직각, 90도 초과 180도 미만은 둔각 180도는 평각으로 분류합니다. 각 angle이 매개변수로 주어질 때 예각일 때 1, 직각일 때 2, 둔각일 때 3, 평각일 때 4를 return하도록 solution 함수를 완성해주세요.
- 예각 : 0 < angle < 90
- 직각 : angle = 90
- 둔각 : 90 < angle < 180
- 평각 : angle = 180
function solution(angle) {
if(angle > 0 && angle < 90) return 1;
if(angle === 90) return 2;
if(angle > 90 && angle < 180) return 3;
return 4;
}
// 다른 사람의 풀이
function solution(angle) {
return [0, 90, 91, 180].filter(x => angle>=x).length;
}
function solution(angle) {
switch(angle) {
case 90: return 2;
case 180: return 4;
default:
return angle > 0 && angle < 90 ? 1 : 3;
}
}
최대한 식을 간결하게 사용하였다.
<다른 사람의 풀이에 대한 이해>
filter()
case를 활용하고 default 부분에 삼항 연산자
양꼬치
머쓱이네 양꼬치 가게는 10인분을 먹으면 음료수 하나를 서비스로 줍니다. 양꼬치는 1인분에 12,000원, 음료수는 2,000원입니다. 정수 n과 k가 매개변수로 주어졌을 때, 양꼬치 n인분과 음료수 k개를 먹었다면 총얼마를 지불해야 하는지 return 하도록 solution 함수를 완성해보세요.
- 0 < n < 1,000
- n / 10 ≤ k < 1,000
- 서비스로 받은 음료수는 모두 마십니다.
function solution(n, k) {
let yangPrice = 12000 * n;
let discountNumber = Math.floor(n / 10);
let drinkPrice = (k - discountNumber) * 2000;
return yangPrice + drinkPrice;
}
짝수의 합
정수 n이 주어질 떄, n 이하의 짝수를 모두 더한 값을 return 하도록 solution 함수를 작성해주세요.
- 0 < n ≤ 1000
function solution(n) {
let answer = null;
let number = 0;
while(n >= number) {
answer += number
number += 2;
}
return answer;
}
// 다른 사람의 풀이
function solution(n) {
return Array(n)
.fill()
.map((_, i) => i + 1)
.filter((v) => v % 2 === 0)
.reduce((acc, cur) => acc + cur, 0);
}
<다른 사람의 풀이에 대한 이해>
메소드 체이닝
fill()
map()
filter()
reduce()
참고 영상
'코딩테스트 > 프로그래머스 0단계 - 입문' 카테고리의 다른 글
프로그래머스 0단계 - Day9 수학, 문자열, 해시, 완전탐색, 조건문 (0) | 2024.03.18 |
---|---|
프로그래머스 0단계 - Day8 배열, 구현, 수학 (0) | 2024.03.17 |
프로그래머스 0단계 - Day6 문자열, 반복문, 출력, 배열, 조건문 (0) | 2024.03.16 |
프로그래머스 0단계 - Day5 수학, 배열 (0) | 2024.03.15 |
프로그래머스 0단계 - Day4 수학, 배열 (0) | 2024.03.14 |
댓글