CodingTest
Day14: x 사이의 개수, 홀수 vs 짝수, 공백으로 구분하기, rny_string, 배열에서 문자열 대소문자 변환하기
curious week
2025. 9. 7. 13:44
x 사이의 개수
x를 기준으로 나눴을 때 나눠진 문자열의 각각의 길이
function solution(myString) {
return myString.split('x').map(v => v.length)
}다른 답:
const solution = (myString) => {
const arr = myString.split('x');
return arr.reduce((a,c)=>[...a,c.length],[]);
}홀수 vs 짝수
배열의 짝수 번째 원소의 합과 홀수 번째의 합 중 큰 값을 리턴, 같으면 그 값을 리턴
function solution(num_list) {
let even = 0
let odd = 0
for(let i = 0; i < num_list.length; i++) {
if(i % 2 === 0) even += num_list[i]
if(i % 2 === 1) odd += num_list[i]
}
return even >= odd ? even : odd
}다른 답:
function solution(num_list) {
let odd = 0;
let even = 0;
num_list.forEach((x,i) => i%2 == 0 ? even += x : odd += x);
return Math.max(odd, even);
}공백으로 구분하기
문자열을 받아 단어별로 나눠 배열로 받기 "i like" => ["i", "like"]
function solution(my_string) {
return my_string.split(' ').filter(v => v.length >= 1)
}다른 답:
function solution(my_string) {
return my_string.trim().split(/ +/);
}const solution = my_string => my_string.match(/[^\s]+/g);rny_string
"m"을 "rn"으로 바꾸기
function solution(rny_string) {
return [...rny_string].map(v => v == 'm' ? 'rn' : v).join('')
}다른 답:
function solution(rny_string) {
return rny_string.replaceAll(/m/g, "rn");
}const solution = r => r.replaceAll('m', 'rn')배열에서 문자열 대소문자 변환하기
문자열 배열에서 홀수번째 인덱스의 문자열은 대문자로, 짝수번째는 소문자로 바꿔서 리턴
function solution(strArr) {
let a = strArr
for(let i = 0; i < strArr.length; i++) {
if(i % 2 === 1) {
a[i] = a[i].toUpperCase()
} else {
a[i] = a[i].toLowerCase()
}
}
return a
}다른 답:
function solution(strArr) {
return strArr.map((v, i) => i % 2 === 0 ? v.toLowerCase() : v.toUpperCase());
}const solution = (strs) => strs.reduce(
(acc, cur, idx) => [...acc, idx % 2 === 0 ? cur.toLowerCase() : cur.toUpperCase()], []
)