최대 1 분 소요

1. 문제

[level 1] 이상한 문자 만들기 - 12930

문제 링크

성능 요약

메모리: 10.2 MB, 시간: 0.04 ms

구분

코딩테스트 연습 > 연습문제

채점결과


정확성: 100.0
합계: 100.0 / 100.0

문제 설명

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

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

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

출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges

2. 해결방법 시간복잡도

  1. 단순 코딩 O(N^2)

3. 문제 해결 및 코드


  • 주석을 참고하면서 이해를 돕습니다.

4. 알고리즘 및 해설

  1. 결과값에 사용할 변수를 빈 문자열로 만든다.
  2. 리스트형태로 받은 문자열을 공백을 기준으로 나눠준 뒤 이중 반복문을 통해 문제를 해결한다.
  3. 이때 해당 문자의 길이만큼 반복을 도는데, 문자의 위치가 짝수번째일 경우 해당 문자는 대문자로, 아닐경우 소문자로 바꿔준다.
  4. 반복문이 끝나는 시점마다 공백을 다시 재추가하여 마지막 공백 이전까지 출력한다.