ps:problems:programmers:12930
목차
이상한 문자 만들기
ps | |
---|---|
링크 | programmers.co.kr/… |
출처 | 프로그래머스 |
문제 번호 | 12930 |
문제명 | 이상한 문자 만들기 |
레벨 | Level 1 |
분류 |
기초 |
시간복잡도 | O(n) |
인풋사이즈 | n <= ? |
사용한 언어 | Python |
해결날짜 | 2021/07/14 |
풀이
- 그냥 기초적인 구현 문제.
- 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)
ps/problems/programmers/12930.txt · 마지막으로 수정됨: 2021/07/16 15:32 저자 teferi
토론