-
프로그래머스 문제 풀이 : JadenCase 문자열 만들기코딩 2025. 3. 28. 16:51
문제 개요
주어진 문자열 s를 JadenCase로 변환하는 문제입니다. JadenCase란 다음 규칙을 따릅니다:
- 각 단어의 첫 문자는 대문자, 나머지는 소문자.
- 단어의 첫 문자가 알파벳이 아닐 경우, 그 다음 알파벳은 소문자로 유지.
- 문자열 내 공백이 연속해서 나올 수 있으며, 이를 그대로 유지해야 합니다.
해결 전략
이 문제는 문자열 처리, 특히 공백 유지 및 단어 단위 처리가 중요한 문제입니다.
✅ 핵심 아이디어
- 문자열을 한 글자씩 탐색하면서, 단어의 시작을 판단합니다.
- 공백을 포함한 원형 문자열을 유지해야 하므로, split()보다는 직접 문자 순회 방식이 적합합니다.
코드 구현
def solution(s): result = '' new_word = True for ch in s: if ch == ' ': result += ch new_word = True elif new_word: result += ch.upper() new_word = False else: result += ch.lower() return result
코드 설명
- new_word 플래그를 사용하여 새로운 단어의 시작을 체크합니다.
- 공백이면 그대로 추가하고, 다음 문자는 단어의 첫 글자이므로 대문자로 변환합니다.
- 그 외의 문자는 소문자로 변환하여 추가합니다.
시간 복잡도 분석
- 문자열을 한 번 순회하므로 시간 복잡도는 O(N).
- 입력 길이 최대 200이므로 매우 빠르게 실행됩니다.
'코딩' 카테고리의 다른 글
프로그래머스 문제 풀이 : 금과 은 운반하기 (0) 2025.04.12 프로그래머스 문제 풀이 : 최솟값 만들기 (0) 2025.03.28 프로그래머스 문제 풀이 : 올바른 괄호 판단하기 (0) 2025.03.27 프로그래머스 문제풀이 : 문자열 내림차순으로 배치하기 (0) 2025.03.26 프로그래머스 문제 풀이: 약수의 개수와 덧셈 (0) 2025.03.25