문자열 뒤집기
문자열 my_string이 매개변수로 주어집니다. my_string을 거꾸로 뒤집은 문자열을 return하도록 solution 함수를 완성해주세요.
function solution(my_string) {
return my_string.split('').reverse().join('');
}
reverse()를 이용하여 문자열의 문자들을 역순으로 변경
- 먼저 split('')은 문자열의 문자들을 1개씩 분리하여 배열로 만듭니다.
- 그리고 reverse()는 배열에 있는 요소들의 순서를 역순으로 변경합니다.
- 마지막으로 join('')은 배열의 요소들을 하나의 문자열로 합칩니다.
- 이 과정을 거치면 문자열의 문자들이 역순으로 변경됩니다.
특정 문자 제거하기
문자열 my_string과 문자 letter이 매개변수로 주어집니다. my_string에서 letter를 제거한 문자열을 return하도록 solution 함수를 완성해주세요.
function solution(my_string, letter) {
let answer= [];
for (let i = 0; i < my_string.length; i++) {
let str = my_string[i];
if (str === letter) {
continue
} else {
answer.push(str);
}
}
return answer.join("");
}
join() 함수는 배열의 모든 요소를 연결해 하나의 문자열로 만듭니다.
arr.join([separator])
- separator는 옵션
- join() 함수는 배열의 모든 문자열을 이어 붙여 줍니다.
- join() 함수의 장점은 문자열을 이어 붙일 때 separator(구분자)를 지정해 줄 수 있다는 것입니다.
- join() 함수를 잘 활용하면 반복문을 사용하지 않고도, 문자열에 구분자를 넣어서 이어붙여 줄 수 있습니다.
문자 반복 출력하기
정수 n이 매개변수로 주어질 때, my_string에 들어있는 각 문자를 n만큼 반복한 문자열을 return 하도록 solution 함수를 완성해보세요.
function solution(my_string, n) {
let ans = [];
for (let i of my_string) {
i = i.repeat(n);
ans.push(i);
}
return ans.join('');
}
다른 사람의 풀이
function solution(my_string, n) {
let ans = '';
for (let s of my_string) ans+=s.repeat(n);
return ans;
}
나는 괜히 배열로 만들어서 식을 복잡하게 만든 듯
편지
머쓱이는 할머니께 생신 축하 편지를 쓰려고 합니다. 할머니가 보시기 편하도록 글자 한 자 한 자를 가로 2cm 크기로 적으려고 하며, 편지를 가로로만 적을 때, 축하 문구 message를 적기 위해 필요한 편지지의 최소 가로길이를 return 하도록 solution 함수를 완성해주세요.
function solution(message) {
return message.length*2;
}
모음 제거
영어에선 a, e, i, o, u 다섯 가지 알파벳을 모음으로 분류합니다. 문자열 my_string이 매개변수로 주어질 때 모음을 제거한 문자열을 return하도록 solution 함수를 완성해주세요.
function solution(my_string) {
let ans = '';
for (let s of my_string) {
if (s !== 'a' && s !== 'e' && s !== 'i' && s !== 'o' && s !== 'u') ans += s;
}
return ans;
}
다른 사람의 풀이
function solution(my_string) {
return my_string.replace(/[aeiou]/g, '');
}
암호 해독
군 전략가 머쓱이는 전쟁 중 적군이 다음과 같은 암호 체계를 사용한다는 것을 알아냈습니다.
- 암호화된 문자열 cipher를 주고받습니다.
- 그 문자열에서 code의 배수 번째 글자만 진짜 암호입니다.
문자열 cipher와 정수 code가 매개변수로 주어질 때 해독된 암호 문자열을 return하도록 solution 함수를 완성해주세요.
function solution(cipher, code) {
let answer = '';
for (let i = code; i <= cipher.length; i++) {
if (i % code === 0) {
answer += cipher[i-1];
}
}
return answer;
}
대문자와 소문자
문자열 my_string이 매개변수로 주어질 때, 대문자는 소문자로 소문자는 대문자로 변환한 문자열을 return하도록 solution 함수를 완성해주세요.
function solution(my_string) {
let answer = "";
for (let i of my_string) {
if (i === i.toUpperCase()) {
answer += i.toLowerCase();
} else {
answer += i.toUpperCase();
}
}
return answer;
}
'Algorithm' 카테고리의 다른 글
lv.0 배열 문제 (0) | 2023.01.23 |
---|---|
lv 0. 짝수, 홀수 문제 (0) | 2023.01.23 |
lv.0 (0) | 2023.01.17 |
lv.0 for문 (0) | 2023.01.17 |
lv.0 if문 (0) | 2023.01.12 |