야챔
월월왈왈
야챔
전체 방문자
오늘
어제
  • 전체보기
    • Java
    • Python
    • JavaScript
    • C#
    • MySQL
    • Docker
    • 알고리즘
      • 백준
      • 프로그래머스
    • 기타
      • Review
      • RP
      • -----

블로그 메뉴

  • 홈
  • 태그
  • 방명록

인기 글

티스토리

hELLO · Designed By 정상우.
야챔

월월왈왈

알고리즘/프로그래머스

[Level1] 이상한 문자 만들기

2021. 4. 28. 22:10

programmers.co.kr/learn/courses/30/lessons/12930

 

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

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

programmers.co.kr

 

 

내 풀이

def solution(s):
    a = ''
    cnt = 0
    for i in range(len(s)):
        if s[i] == ' ':
            cnt = 0
            a += s[i]
        elif cnt % 2 == 0:
            cnt += 1
            a += s[i].upper()
        else:
            cnt += 1
            a += s[i].lower()
    return a

처음엔 %2 == 0일때 대문자로 바꾸어 주었다.

하지만 계속 통과하지 못했고 문제를 다시 읽어보니 공백을 시작으로 대문자가 시작된다고 한다.

그래서 공백이 있을때 카운트를 0으로 초기화 하였고 문자가 있을 때마다 +1을 시켜주어 홀, 짝을 구분하였다.

근데 또 통과되지 않았었는데 문제를 다시 생각해보니 주어지는 s가 소문자만 있을거라는 조건이 없었다.

그래서 홀수일때 소문자로 바꿔주는 lower를 사용하였더니 통과가 되었다.

 

 

 

다른 사람 풀이

def toWeirdCase(s):
    return " ".join(map(lambda x: "".join([a.lower() if i % 2 else a.upper() for i, a in enumerate(x)]), s.split(" ")))

 

저작자표시

'알고리즘 > 프로그래머스' 카테고리의 다른 글

[Level1] 제일 작은 수 제거하기  (0) 2021.04.28
[Level1] 수박수박수박수박수박수?  (0) 2021.04.28
[Level1] 예산  (0) 2021.04.27
[Level1] 같은 숫자는 싫어  (0) 2021.04.27
[Level1] 폰켓몬  (0) 2021.04.12
    '알고리즘/프로그래머스' 카테고리의 다른 글
    • [Level1] 제일 작은 수 제거하기
    • [Level1] 수박수박수박수박수박수?
    • [Level1] 예산
    • [Level1] 같은 숫자는 싫어
    야챔
    야챔

    티스토리툴바