[프그] 이상한 문자 만들기

dano Lee·2024년 3월 3일
0

알고리즘 문제 풀이

목록 보기
50/52

문제

문자열 s는 한 개 이상의 단어로 구성되어 있습니다. 각 단어는 하나 이상의 공백문자로 구분되어 있습니다. 각 단어의 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을 리턴하는 함수, solution을 완성하세요.

입출력 예

input: "try hello world"
output: "TrY HeLlO WoRlD"

해답

  • 이중배열처럼 풀이해야 하는 문제는 항상 두개의 반복문을 사용하는 편이다.
  • 이 문제의 핵심은 공백을 기준으로 단어를 나누는거라고 생각한다. 가장먼저 split() 가 생각났고 조건에 맞게 소문자 대문자를 구분해서 문자열을 추가해준뒤 첫번째 반복문이 끝날때 조건문을 설정하여 공백을 추가해주었다.
  • 이후 리턴값에서는 다시 공백을 기준으로 정렬하고 join을 사용해 답을 내놓았다.
function solution(s) {
    let answer = '';
    s = s.split(' ')
    for(let i = 0; i < s.length; i++){
        for(let j = 0; j < s[i].length; j++){
            if( j === 0 || j % 2 === 0){
                answer += s[i][j].toUpperCase()
            }else {
                answer += s[i][j].toLowerCase()
            }
        }
        if(i < s.length - 1) {
            answer += '\n'
        }
    }
    return answer.split('\n').join(' ')
}
profile
세상에 이로운 영향력을 퍼뜨리고 싶은 프론트엔드 개발자 입니다.

0개의 댓글