규도자 개발 블로그
[프로그래머스/Level1/파이썬3(python3)] 이상한 문자 만들기 본문
[프로그래머스/Level1/파이썬3(python3)] 이상한 문자 만들기
문제
문자열 s는 한 개 이상의 단어로 구성되어 있습니다. 각 단어는 하나 이상의 공백문자로 구분되어 있습니다. 각 단어의 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을 리턴하는 함수, solution을 완성하세요.
제한사항
- 문자열 전체의 짝/홀수 인덱스가 아니라, 단어(공백을 기준)별로 짝/홀수 인덱스를 판단해야합니다.
- 첫 번째 글자는 0번째 인덱스로 보아 짝수번째 알파벳으로 처리해야 합니다.
입출력 예
s | return |
---|---|
"try hello world" | "TrY HeLlO WoRlD" |
입출력 예 설명
"try hello world"는 세 단어 "try", "hello", "world"로 구성되어 있습니다. 각 단어의 짝수번째 문자를 대문자로, 홀수번째 문자를 소문자로 바꾸면 "TrY", "HeLlO", "WoRlD"입니다. 따라서 "TrY" "HeLlO" "WoRlD" 를 리턴합니다.
풀이
def solution(s):
answer = ''
for word in s.split(' '):
temp_word = ''
for i in range(len(word)):
if i % 2:
temp_word += word[i].lower()
else:
temp_word += word[i].upper()
answer += temp_word
answer += ' '
return answer[:-1]
설명
내가 이 글(split()과 split(' ')의 차이)을 쓰게 된 계기가 된 문제이다. 3번 줄의 split(' ')을 맨 처음엔 split()으로 했었는데 계속 오답처리가 되길래 다른 답들을 찾아보니 저 안에 ' '를 넣어놨더라. 두 함수의 기능차이가 있는줄 몰랐던 나는 띠용 했고 실험해보니 바로 차이가 있는 걸 발견하였으나 다른 물음이 떠올랐는데, 아니 그럼 이 문제에선 공백이 여러 개 들어왔을 때 공백도 각각 처리돼야 맞는 답으로 치는건가 하는 물음이 연달아 떠올랐다. 정답검사를 하는 문제와 답들을 한번 살펴보고 싶은 문제이다.
'알고리즘 > 풀이' 카테고리의 다른 글
[프로그래머스/Level1/파이썬3(python3)] 짝수와 홀수 (0) | 2020.04.15 |
---|---|
[프로그래머스/Level1/파이썬3(python3)] 자릿수 더하기 (0) | 2020.04.14 |
[프로그래머스/Level1/파이썬3(python3)] 약수의 합 (0) | 2020.04.12 |
[프로그래머스/Level1/파이썬3(python3)] 시저 암호 (0) | 2020.04.11 |
[프로그래머스/Level1/파이썬3(python3)] 문자열을 정수로 바꾸기 (0) | 2020.04.10 |
Comments