티스토리 뷰
https://school.programmers.co.kr/learn/courses/30/lessons/12930
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
이중 for문
function solution(s) {
const answer = []
const words = s.split(" ")
for(let i = 0; i < words.length; i++) {
let temp = ""
for(let j = 0; j < words[i].length; j++) {
if(j % 2 === 0) {
temp += words[i][j].toUpperCase()
} else {
temp += words[i][j].toLowerCase()
}
}
answer.push(temp)
}
return answer.join(" ")
}
- split을 이용해 주어진 단어를 공백 기준으로 나눔 -> 배열이 됨
- 배열 내 단어 개수만큼 반복
- 각 단어의 글자수만큼 반복
- 짝수인지 홀수인지에 따라 문제대로 대문자, 소문자로 변경한 후 temp 변수에 더함
- 대문자, 소문자로 변환된 단어를 미리 만들어준 answer 배열에 push
- 다시 공백으로 join하여 return

map() + for문
위와 큰 그림은 같음
이중 for문 대신 map + for문을 활용(map은 새로운 배열을 return)
if문은 삼항연산자로 표기
function solution(s) {
return s.split(" ").map(word => {
let answer = ""
for(let i = 0; i < word.length; i++) {
i % 2 === 0
? answer += word[i].toUpperCase()
: answer += word[i].toLowerCase()
}
return answer
}).join(" ")
}

- 이중 for문, map과 for문을 함께 사용, map을 이중으로 사용 등 어쨌든 반복문을 이중으로 써야하는 문제
'알고리즘 문제풀이 > 프로그래머스' 카테고리의 다른 글
| [프로그래머스] Lv.0 - 중복된 숫자 (javascript) (0) | 2022.11.23 |
|---|---|
| [프로그래머스] Lv.0 - 옹알이 (1) (javascript) (0) | 2022.11.14 |
| [프로그래머스] 1단계 - 모의고사 (javascript) (0) | 2022.08.02 |
| [프로그래머스] 1단계 - 숫자 문자열과 영단어 (javascript) (0) | 2022.07.28 |
| [프로그래머스] 1단계 - K번째수 (javascript) (0) | 2022.07.27 |
댓글
