99Club
Posts

© 2025. woongsnote All rights reserved.

Beginner
2024-04-04

이상한 문자 만들기

각 단어의 짝수 번째 알파벳은 대문자로, 홀수 번째 알파벳은 소문자로 바꾼 문자열을 return하는 함수 구현하기

#99일지#99클럽#TIL#개발자스터디#코딩테스트#항해
직접 풀러가기

문제 설명

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

제한 사항

  • 문자열 전체의 짝/홀수 인덱스가 아니라, 단어(공백을 기준)별로 짝/홀수 인덱스 판단
  • 첫 번째 글자는 0번째 인덱스로 보고, 짝수번째 알파벳으로 처리
sreturn
"try hello world""TrY HeLlO WoRlD"

풀이

  1. 문자열을 공백(" ")을 기준으로 나눈다.
  2. 나눠진 단어별로 인덱스를 구하고, 인덱스의 홀/짝에 따라 대문자 또는 소문자로 변환한다.
  3. 변환이 완료되면 다시, 문자열로 합친다.
  4. 합쳐진 문자열을 반환해준다.

코드로 구현하면 아래와 같다.

JavaScript

function solution(s) {
			let answer = '';
			let temp = s.split(" ").map(
				(word) => word.split("").map(
					(c, index) => index % 2 == 0 ? c.toUpperCase() : c.toLowerCase()).join("")
			);
			answer = temp.join(" ");
			return answer;
}

Python

def solution(s):
    answer = ''
    temp = ["".join([c.upper() if index % 2 == 0 else c.lower() for index, c in enumerate(word)]) for word in s.split(" ")]
    answer = " ".join(temp)
    return answer

TIL

enumerate: enumerate는 반복 가능한 항목(예: 목록, 튜플 또는 문자열)을 반복하면서 각 항목의 인덱스를 추적할 수 있는 내장 Python 함수다. 열거형 객체를 반환하며, 이는 iterable의 각 항목의 인덱스와 값으로 구성된 쌍을 생성한다.

my_list = ['a', 'b', 'c', 'd']

for index, value in enumerate(my_list):
    print(f"Index: {index}, Value: {value}")
-----------------------------------------------------------
#result

Index: 0, Value: a
Index: 1, Value: b
Index: 2, Value: c
Index: 3, Value: d