728x90

 

 

문제 66. (2021-07-05)

 

 

코딩테스트 연습 - 이상한 문자 만들기

문자열 s는 한 개 이상의 단어로 구성되어 있습니다. 각 단어는 하나 이상의 공백문자로 구분되어 있습니다. 각 단어의 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을

programmers.co.kr

이상한 문자 만들기

문자열 s는 한 개 이상의 단어로 구성되어 있습니다. 각 단어는 하나 이상의 공백문자로 구분되어 있습니다. 각 단어의 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을 리턴하는 함수, solution을 완성하세요.

 

 

제한사항

* 문자열 전체의 짝/홀수 인덱스가 아니라, 단어(공백을 기준)별로 짝/홀수 인덱스를 판단해야합니다.

* 첫 번째 글자는 0번째 인덱스로 보아 짝수번째 알파벳으로 처리해야 합니다.

 

 

❧ 입출력 예


❧ 정답

def solution(s):
    s_len = 2
    answer = ''
    for i in s:
        if i == ' ':
            answer+=i
            s_len = 2
            continue
        elif s_len % 2 == 0: answer += i.upper()
        else: answer += i.lower()
        s_len += 1
    return answer

 

1️⃣ 문자가 공백(' ')인 경우 s_len 초기화

2️⃣ 짝수 번째 문자인 경우, 대문자, 홀수 번째 문자인 경우 소문자 적용

└ 0은 나눌 수 없으므로 초기값을 2로 설정

 

<파이썬 문자열 메소드>

✔ upper() : 소문자 → 대문자

✔ lower() : 대문자 → 소문자

 

➕ capitalize() : 문자열 첫 번째 문자일 경우 대문자로

 

 


 

 

 

 

 

코딩테스트 연습 - 수박수박수박수박수박수?

길이가 n이고, "수박수박수박수...."와 같은 패턴을 유지하는 문자열을 리턴하는 함수, solution을 완성하세요. 예를들어 n이 4이면 "수박수박"을 리턴하고 3이라면 "수박수"를 리턴하면 됩니다. 제한

programmers.co.kr

수박수박수박수박수박수?

길이가 n이고, "수박수박수박수...."와 같은 패턴을 유지하는 문자열을 리턴하는 함수, solution을 완성하세요. 예를들어 n이 4이면 "수박수박"을 리턴하고 3이라면 "수박수"를 리턴하면 됩니다.

 

 

제한사항

* n은 길이 10,000이하인 자연수입니다.

 

 

❧ 입출력 예

 


❧ 정답

def solution(n): return "수박" * (n//2) if n % 2 == 0 else "수박" * (n//2) + "수"

 

 

 

728x90