프로그래머스 연습문제
- Lv 2. JadenCase 문자열 만들기 (Python)
https://school.programmers.co.kr/learn/courses/30/lessons/12951
def solution(s):
answer = ''
s_split = list(s.split(" ")) # 공백으로 split하여 문자 담아놓기
for i in range(len(s_split)):
# 만약 연속된 공백이라면 split 했을 때 "" 가 리스트 안에 존재
if(s_split[i] == ""):
answer += " "
# 연속된 공백이 아니라면 (문자인 경우)
else:
# 맨 앞글자가 숫자가 아닐 때
if not(s_split[i][0].isdigit()):
answer += s_split[i][0].upper() + s_split[i][1:].lower()
# 맨 앞글자가 숫자일 때
else:
answer += s_split[i][0] + s_split[i][1:].lower()
if(i != len(s_split)-1): # 맨 끝 문자가 아니라면 문자 간의 공백이 중간에 있으니 공백 추가
answer += " "
# 연속된 공백이 맨 끝에 붙는다면 마지막 문자 뒤에 공백이 추가로 붙어서 공백 수가 안맞음 -> 고로 공백 하나 제거를 위해 맨 끝 제거
if(s_split[-1] == ""):
answer = answer[0:len(s)]
return answer
s.split(” “)
으로 공백 기준으로 띄워진 문자들을 리스트 안에 담는다.“”
이라면 → 이는 공백이 담긴것 → 고로 공백으로 추가해준다.“hello world “
→ 이러면 s_split
에는 [’hello’, ‘world’, ‘’, ‘’, ‘’]
이렇게 담기게 된다.world
와 ‘’
사이에 공백이 띄어쓰기로 하나 더 붙어버려서 맨 뒤 공백이 3개가 아닌 4개가 되어버린다.