728x90
728x90
문제 설명
문자열 s는 한 개 이상의 단어로 구성되어 있습니다. 각 단어는 하나 이상의 공백문자로 구분되어 있습니다. 각 단어의 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을 리턴하는 함수, solution을 완성하세요.
입출력 예
"try hello world" | "TrY HeLlO WoRlD" |
접근방법
split 으로 풀고!
map으로 for문 돌려서..
if....? 음 뭐더라..?
어... 이게 어떻게 되는거지...?
const a = 'try hello world';
function solution(s) {
const arr = s.split(' ');
let changedString = [];
arr.map((val) => {
for (i = 0; i < val.length; i++) {
if (i % 2 === 0) {
changedString.push(val[i].toUpperCase());
} else {
changedString.push(val[i].toLowerCase());
}
}
});
return changedString.join('');
}
console.log(solution(a));
여기서 길 잃어버림.
왜 map을 돌리는데 push로 새로 처 집어넣고 있는걸까...
한숨 돌리고 보면 보이는데
저땐 진짜 안보였음..ㅎ
map을 이상하게 써서 길을 잃은 듯
개발자 펀치라인 지렸다.
사실 map안에 callbackfunction 저렇게 길게 집어 넣은게 처음이라
헷갈렸던거 같음..
const a = 'try hello world';
function solution(s) {
const arr = s.split(' ');
let answer = arr.map((val) => {
let changedString = '';
for (i = 0; i < val.length; i++) {
changedString +=
i % 2 === 0 ? val[i].toUpperCase() : val[i].toLowerCase();
}
return changedString;
});
return answer.join(' ');
}
console.log(solution(a)); //TrY HeLlO WoRlD
우리집 시니어 개발자가 도와줘서 코드 정리 할 수 있었다.
뭐 아쉽게 못풀긴 했지만,
접근 방법은 맞았으니까 나름 만족..은 개뿔
기분 나쁨...
function toWeirdCase(s){
return s.toUpperCase().replace(/(\w)(\w)/g, function(a){return a[0].toUpperCase()+a[1].toLowerCase();})
}
딴사람 답인데
저 이모티콘 처럼 생긴게
정규표현식이란다
공부할게 또 늘었다
씹....
728x90
728x90
'문제풀이 > 프로그래머스' 카테고리의 다른 글
문자열 다루기 기본 (0) | 2021.11.24 |
---|---|
자릿수 더하기 (0) | 2021.11.24 |
자연수 뒤집어 배열로 만들기 (0) | 2021.11.23 |
문자열 내림차순으로 배치하기 (0) | 2021.11.22 |
정수 내림차순으로 배치하기 (0) | 2021.11.22 |
댓글