====== 이상한 문자 만들기 ====== ===== 풀이 ===== * 그냥 기초적인 구현 문제. * split()를 이용해서 단어별로 쪼개서 단어별로 변환한 뒤에, ' '.join(..)으로 합치는 것은, 공백문자가 여러개 이어서 나올 경우를 처리해주지 못한다 * 그냥 to_upper 라는 불리언 변수를 만들고서, 문자열 전체를 쭉 훑으면서 to_upper값을 플립하면서 to_upper에 따라서 대/소문자로의 변환을 적용하는 식으로 구현했다. 공백문자이면 to_upper를 True로 다시 초기화하면 된다. * 시간복잡도는 O(n) (n=문자열 길이) 인데 문제에서는 범위 제한이 주어지지는 않는다.. ===== 코드 ===== """Solution code for "Programmers 12930. 이상한 문자 만들기". - Problem link: https://programmers.co.kr/learn/courses/30/lessons/12930 - Solution link: http://www.teferi.net/ps/problems/programmers/12930 """ def solution(s): to_upper = True answer = [] for c in s: answer.append(c.upper() if to_upper else c.lower()) to_upper = (c == ' ' or not to_upper) return ''.join(answer) {{tag>프로그래머스 ps:problems:programmers:Level_1}}