2번. 이상한 문자 만들기2 (중)
문제 설명
문자열 s는 한 개 이상의 단어로 구성되어 있습니다. 각 단어는 하나 이상의 공백문자로 구분되어 있습니다. 각 단어의 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을 리턴하는 함수, solution을 완성하세요.
제한 조건
공백을 포함하지 않고, 문자열 전체의 짝/홀수 인덱스를 판단해야합니다.
첫 번째 글자는 0번째 인덱스로 보아 짝수번째 알파벳으로 처리해야 합니다.
입출력 예
"try hello world"
"TrY hElLo WoRlD"
“yoon ji yong”
“YoOn Ji YoNg”
지정 입력값
“hang hae ninety nine”
“HaNg HaE nInEtY nInE”
나도 언젠가는 50줄 코드 유튜버가 될 수 있겠지?
문제가 처음에는 이해가 잘되지 않았다.
"공백을 무시하고 인덱스가 짝수이면 대문자를 반환하고, 홀수이면 소문자를 반환하라,"
단, return 값에 공백이 포함이 되어 있어야 한다.
처음에는 이런식으로 공백을 모두 없애준 뒤에, 홀짝 판별을 하여 문자열을 만들었다.
하지만 그렇게 하니, 공백을 어느 위치에 넣어줘야 하는지 ,
공백을 어떻게 카운트하고 사이에 넣어줄 수 있는건지가 관건이었다.
결국 해결하지 못하고, 이 코드로 제출을 할 수 밖에 없었다.
시험이 끝난후, 다른 학생에게 힌트를 얻어 만들어 본 코드이다.
우선은 공백을 무시해준채로, 대소문자를 만들어 줘야 하기 때문에, 공백을 카운트를 해준다.
그리고 문자의 인덱스를 구할떄는 -count를 해주는것이다.
이런식으로 구하면 공백까지 표현이 가능해진다.
여기서 중요한것은 주석처리 되어있는부분이다.
""가 아닌 " "이어야 count가 적용이 된다.
그리고 .concat또한, 그자체로 변수를 변화시키는 메소드는 아니기에,
a = a.concat() 이런식으로 써주어야 한다.