Ming's develop story

알고리즘 - 이상한 문자 만들기 (21.11.12) 본문

스파르타코딩클럽 - 항해99/항해99 Chapter2 - 알고리즘 기초

알고리즘 - 이상한 문자 만들기 (21.11.12)

Ming 2021. 11. 12. 21:07
  • 이상한 문자 만들기
문제 설명

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

제한 사항
  • 문자열 전체의 짝/홀수 인덱스가 아니라, 단어(공백을 기준)별로 짝/홀수 인덱스를 판단해야합니다.
  • 첫 번째 글자는 0번째 인덱스로 보아 짝수번째 알파벳으로 처리해야 합니다.
입출력 예
  s                                                                      return
"try hello world" "TrY HeLlO WoRlD"
입출력 예 설명

"try hello world"는 세 단어 "try", "hello", "world"로 구성되어 있습니다. 각 단어의 짝수번째 문자를 대문자로, 홀수번째 문자를 소문자로 바꾸면 "TrY", "HeLlO", "WoRlD"입니다. 따라서 "TrY HeLlO WoRlD" 를 리턴합니다.

 

내 풀이

일단 s의 단어들을 각각 공백을 기준으로 나눠준다.

나눠준 단어들을 각각 2번의 for문을 통해 0번째와 짝수번째일 경우엔 대문자로 홀수번째 일땐 소문자로 변환시켜 준다. 

안쪽에 있는 for문에서 변환이 끝나면 값을 받아놓았던 s2 안의 단어들을 s1 배열에 push 해주고 join()을 통해 그 배열들은 이어줌으로써 원하는 값을 반환할 수 있다.

 

* 여기서 중요한 점은 s1을 변수 선언할때 ''와 같이 빈 문자열을 할당하면 오류가 난다. 그래서 반드시 빈 배열로 선언을 해주어야 하고 join(' ')와 같이 원하는 답과 같게하기 위하여 안에 고의로 공백을 넣어줘야 했다.

Comments