Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
Tags
- alogorithm
- 딥러닝
- 프로그래머스
- softeer
- 소프티어
- 그리디
- 토이프로젝트
- Baekjoon
- Python
- programmers
- 힙큐
- MES
- re_lunchu
- Java
- 현대
- 자바
- cs공부
- 현대자동차
- cim
- 비전공자
- 알고리즘
- Algorithm
- JavaScript
- 스마트팩토리
- 자바스크립트
- GAN
- 파이썬
- 백준
- 탐욕법
- heapq
Archives
- Today
- Total
eaz_coding
[Programmers] 이상한 문자열 만들기 본문
문제
문자열 s는 한 개 이상의 단어로 구성되어 있습니다. 각 단어는 하나 이상의 공백문자로 구분되어 있습니다. 각 단어의 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을 리턴하는 함수, solution을 완성하세요.
제한 사항
- 문자열 전체의 짝/홀수 인덱스가 아니라, 단어(공백을 기준)별로 짝/홀수 인덱스를 판단해야합니다.
- 첫 번째 글자는 0번째 인덱스로 보아 짝수번째 알파벳으로 처리해야 합니다.
입출력 예 설명
"try hello world"는 세 단어 "try", "hello", "world"로 구성되어 있습니다. 각 단어의 짝수번째 문자를 대문자로, 홀수번째 문자를 소문자로 바꾸면 "TrY", "HeLlO", "WoRlD"입니다. 따라서 "TrY HeLlO WoRlD" 를 리턴합니다.
풀이
문제에 함정이 있었다.
"각 단어는 하나 이상의 공백문자로 구분되어 있습니다." == 공백이 하나라고는 안했음 ㅇㅇ
처음부터 s.split()으로 접근하다가 잘못 풀뻔 했다.
def solution(s):
answer = ''
t = 1
i = 0
while i < len(s):
if s[i].isspace():
answer += " "
t = 1
else:
answer += s[i].upper() if t == 1 else s[i].lower()
t *= -1
i += 1
return answer
'eaz_algorithm' 카테고리의 다른 글
[Programmers] 튜플 (0) | 2024.01.06 |
---|---|
[Programmers] 3진법 뒤집기 (1) | 2024.01.04 |
[Programmers] 시저 암호 (2) | 2024.01.04 |
[Programmers] 행렬의 곱셈 (1) | 2024.01.03 |
[Programmers] 거리두기 확인하기 (2) | 2024.01.03 |