티스토리 뷰
코딩테스트 연습 - 이상한 문자 만들기 | 프로그래머스 (programmers.co.kr)
코딩테스트 연습 - 이상한 문자 만들기
문자열 s는 한 개 이상의 단어로 구성되어 있습니다. 각 단어는 하나 이상의 공백문자로 구분되어 있습니다. 각 단어의 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을
programmers.co.kr
받은 문자열 s를 아래 표처럼 리턴하라이다. 홀수번째는 대문자, 짝수는 소문자
s | return |
"try hello world" | "TrY HeLlO WoRlD" |
나의 코드
const solution = (s) => {
let answer = true;
s = s.split(' '); // 단어로 나눈 배열 만들고
let withSpaceArr = []; // 띄어쓰기가 포함되는 배열
s.forEach((word, wordIdx, wordArr) => {
let newWord = [];
let wordPieceByPiece = word.split(''); // 글자로 나눈 배열 만들고
wordPieceByPiece.forEach((val, pieceIdx, arr) => {
// 소문자 대문자 만들어주고
if (pieceIdx % 2 !== 0) {
arr[pieceIdx] = arr[pieceIdx].toLowerCase();
} else {
arr[pieceIdx] = arr[pieceIdx].toUpperCase();
}
//------------------------ val 과 arr[pieceIdx]는 다르다!-------------------
// console.log(`val : ${val}, arr[pieceIdx] : ${arr[pieceIdx]}`); // 둘이 다르다
//------------------------ val 과 arr[pieceIdx]는 다르다!-------------------
newWord.push(arr[pieceIdx]);
});
newWord = newWord.join('');
console.log(newWord);
if (wordIdx !== wordArr.length - 1) withSpaceArr.push(newWord + ' ');
else {
withSpaceArr.push(newWord);
}
});
withSpaceArr = withSpaceArr.join('');// 글자 모은다
// console.log(withSpaceArr);
// console.log(s);
return withSpaceArr;
};
solution('try hello world');
//------------------------ val 과 arr[pieceIdx]는 다르다!-------------------
// console.log(`val : ${val}, arr[pieceIdx] : ${arr[pieceIdx]}`); // 둘이 다르다
//------------------------ val 과 arr[pieceIdx]는 다르다!-------------------
forEach문 안의 val 과 arr[pieceIdx]가 값이 대입되면 둘 다 영향이 있을 것 같지만 val은 대입되지 않았다.
다음번엔 유의하자
'개발자 > 프로그래머스 알고리즘' 카테고리의 다른 글
코딩테스트 연습 - 나누어 떨어지는 숫자 배열 | 프로그래머스 js ★☆☆☆☆ (0) | 2022.01.18 |
---|---|
코딩테스트 연습 - 자연수 뒤집어 배열로 만들기 | 프로그래머스 js ★☆☆☆☆ (0) | 2022.01.18 |
코딩테스트 연습 - 문자열 내 p와 y의 개수 | 프로그래머스 js ★☆☆☆☆ (0) | 2022.01.17 |
코딩테스트 연습 - K번째수 | 프로그래머스 js ★★☆☆☆ (0) | 2022.01.17 |
코딩테스트 연습 - 문자열 내림차순으로 배치하기 | 프로그래머스 js ★★☆☆☆ (0) | 2022.01.14 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- function
- 에러
- 코딩습관
- 공부법
- elasticsearch
- Callback
- 백틱
- postman
- 프로그래머스
- js
- docker
- GraphQL
- 독커
- arrow
- NPM
- 코드캠프
- yarn
- Console
- axios
- error
- 명령어
- Rest
- Playground
- typeorm
- 콜백
- 도커
- 호이스팅
- nodemon
- Spread
- arrowfunction
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
글 보관함