[프로그래머스] 이상한 문자 만들기

Mincho·2022년 12월 22일
0
post-thumbnail

🔴이상한 문자 만들기

문자열 s는 한 개 이상의 단어로 구성되어 있습니다. 각 단어는 하나 이상의 공백문자로 구분되어 있습니다. 각 단어의 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을 리턴하는 함수, solution을 완성하세요.
❗제한 사항
◾문자열 전체의 짝/홀수 인덱스가 아니라, 단어(공백을 기준)별로 짝/홀수 인덱스를 판단해야합니다.
◽첫 번째 글자는 0번째 인덱스로 보아 짝수번째 알파벳으로 처리해야 합니다.

👉입출력 예

sreturn
"try hello world""TrY HeLlO WoRlD



😶나의 풀이


  처음구현을 하기위해 제한사항에 주의해야 했다. 인덱스별로 나누는게 아니라 띄어쓰기로 구분된 단어를 기준으로 대문자 구분을 해주어야 했다. 그리고 구분해준 단어마다 하나씩 단어의 인덱스를 따져 대문자처리하여 answer에 넣어주었다. 대문자 처리해준 단어 뒤에 띄어쓰기를 넣어주어 구분 처리했다.

function solution(s) {
    var answer = '';
    const data = s.split(" ")
    for(i = 0; i < data.length ; i++){
        for(j = 0 ; j < data[i].length ; j++){
        j % 2 === 0 ? answer += (data[i][j].toUpperCase()) : 		 answer +=(data[i][j].toLowerCase())
            
        }	//여기까지 단어 대문자처리해주기
        if(answer.length === s.length){ //마지막 띄어쓰기를 안해주기위해서..
            return answer;
        }
        answer += " "
    }
}

  split으로 배열에 띄어쓰기 기준으로 단어를 넣어준다음 요소하나씩을 비교하여 대문자처리 했다. 그리고 answer에 단어를 하나씩 넣어주는데 마지막에 띄어쓰기를 붙어주었다.
◾ if문이 없다면 마지막 단어를 넣고 띄어쓰기가 붙어서 나오기 때문에 원래 문장길이와 만들어준 문장길이를 비교하여 같으면 return을 해주었다.




😎후기..

인덱스가 아닌 단어 자체의 인덱스를 구분해야하서 구현까지 생각하는데 시간을 좀 사용했다. 마지막에 띄어쓰기 처리를 해주는 부분은 그나마 금방 구현 방법을 생각하여 시간을 아낄 수 있었다.

👍올바른 피드백은 언제든지 환영입니다~!

profile
사진찍는 개발자.

0개의 댓글