이상한 문자 만들기라는 이름으로 문제가 올라와 있다. 자세한 문제내용은 아래 링크를 보면 된다.
https://school.programmers.co.kr/learn/courses/30/lessons/12930?language=javascript
답안코드는 인터넷을 참고했으나 내가 주석했다.
function solution(s){
var answer = '';
console.log(s.split(' ').map(i => i.split('')
// 문자열을 공백 기준으로 나눠서 배열에 넣는다. -> 배열의 요소들을 i번째 요소부터 한글자 한글자 갈라서 또다른 배열에 넣는다.
.map((j, idx) => j = idx % 2 === 0 ? j.toUpperCase():j.toLowerCase())
// 그 첫번째 또다른 배열에서 idx가 짝수인 요소는 대문자로, 짝수가 아닌 요소는 소문자로 바꾼다.
.join('')).join(' ')
)
return answer;
}
s = "try hello world"
solution(s)
관련해 특별히 기억할 사항은 아래와 같다.
1) console을 찍어 가면서 작업하면 map() 안에 split() 과 또다른 map() 메서드가 중첩되는 작업도 가능하다.
2) map((j, idx) => ) 메서드에서 두번째 파라미터 idx는 map 메서드가 배열을 돌 때 몇번째 요소인지를 표시하는 key 혹은 index의 개념이다.
3) Array.join() 메서드는 파라미터로 온 문자를 사이에 넣고 배열의 요소들을 연결해서 문자열로 반환한다.
'알고리즘 코딩' 카테고리의 다른 글
자연수가 하샤드 수인지 판별하는 알고리즘 (0) | 2023.04.18 |
---|---|
자연수가 몇 번째 콜라프 작업에서 1이 되는지 파악하는 알고리즘 (0) | 2023.04.17 |
정규 표현식으로 숫자만 들어가는지 확인하기 (0) | 2023.04.16 |
배열 2개의 내적 구하는 알고리즘 feat. reduce(acc, _, i) (0) | 2023.04.16 |
나누어 떨어지는 숫자들로만 배열을 만드는 알고리즘 (0) | 2023.04.15 |