[프로그래머스 / Level 2] JadenCase 문자열 만들기 (파이썬)

2022. 9. 22. 22:39·🎲 알고리즘 공부/프로그래머스

[문제]

JadenCase란 모든 단어의 첫 문자가 대문자이고, 그 외의 알파벳은 소문자인 문자열입니다. 단, 첫 문자가 알파벳이 아닐 때에는 이어지는 알파벳은 소문자로 쓰면 됩니다. (첫 번째 입출력 예 참고)
문자열 s가 주어졌을 때, s를 JadenCase로 바꾼 문자열을 리턴하는 함수, solution을 완성해주세요.

 

제한 조건

  • s는 길이 1 이상 200 이하인 문자열입니다.
  • s는 알파벳과 숫자, 공백문자(" ")로 이루어져 있습니다.
    • 숫자는 단어의 첫 문자로만 나옵니다.
    • 숫자로만 이루어진 단어는 없습니다.
    • 공백문자가 연속해서 나올 수 있습니다.

 

입출력 예시

 

 

 

https://school.programmers.co.kr/learn/courses/30/lessons/12951

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr


🎨 풀이

💡 전체 코드

def solution(s):
    answer = ''
    s = s.upper()
    s = list(s)
    
    answer += s[0]
    
    for i in range(1,len(s)):
        if s[i-1].isalpha() or s[i-1].isdigit():        
            answer += s[i].lower()
        else :
            answer += s[i]
            
    return answer

> 핵심 : 앞에 있는 문자가 숫자거나 글자라면 소문자로, 아니라면 대문자로!

 

 

 

🍦 코드 설명 (실행 순서대로 나열)

#solution

    answer = ''
    s = s.upper()
    s = list(s)
    
    answer += s[0]

1. 변수를 초기화한다.

- answer : 정답

 

2. 먼저 s를 대문자로 바꿔준다.

3. s를 list로 바꾼다.

 - (ex) s = "seoul ow"      =>    s = ['s', 'e', 'o', 'u', 'l', ' ', 'o', 'w']

4. answer에 s[0]을 추가해준다. 

 - for문을 1부터 돌리기 위해 사전작업을 해둔 것이다.

 

 

 

 

#solution - 앞 글자가 뭔지 파악 후 answer에 알맞게 넣어주기

    for i in range(1,len(s)):
        if s[i-1].isalpha() or s[i-1].isdigit():        
            answer += s[i].lower()
        else :
            answer += s[i]
            
    return answer

5. 만약 앞에 있는 문자가 숫자거나 글자라면, s[i]를 소문자로 바꾼 후 answer에 넣어준다.

6. 만약 그렇지 않다면, answer에 s[i]를 그대로 넣어준다. (대문자) 

7. answer을 return 해준다.

 


끝~

⭐ 느낀점

> 이거는 그 힌트를 살짝 얻어서 풀었다. 그 전까지는 계속~~~~ 진짜 오래전부터 도전했던 문제인데,, 자꾸 단어를 바꿔준 후 replace로 넣는 형태로 시도해서 영 뜯어고치기가 힘들더라. 이렇게 푸니까 단번에 푸는 건데 ㅎ_ㅎ.. 그래도 잘 풀어서 기분은 아주 좋았다! 통과~~~~~~!

저작자표시 (새창열림)

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

[프로그래머스 / Level 2] 카펫 (파이썬)  (0) 2022.09.23
[프로그래머스 / Level 2] 기능개발 (파이썬)  (0) 2022.09.22
[프로그래머스 / Level 2] 피보나치 수 (파이썬)  (0) 2022.09.20
[프로그래머스 / Level 2] 숫자의 표현 (파이썬)  (0) 2022.09.19
[프로그래머스 / Level 2] 다음 큰 숫자 (파이썬)  (0) 2022.09.18
'🎲 알고리즘 공부/프로그래머스' 카테고리의 다른 글
  • [프로그래머스 / Level 2] 카펫 (파이썬)
  • [프로그래머스 / Level 2] 기능개발 (파이썬)
  • [프로그래머스 / Level 2] 피보나치 수 (파이썬)
  • [프로그래머스 / Level 2] 숫자의 표현 (파이썬)
듬듬
듬듬
  • 듬듬
    두드림
    듬듬
  • 전체
    오늘
    어제
    • 분류 전체보기 (267)
      • 📑 신입일기 (35)
      • 🎲 알고리즘 공부 (192)
        • 프로그래머스 (76)
        • 백준 (96)
        • 코드업 (19)
      • 📘 독서 (0)
      • 💌 일상 (12)
        • 일상 (5)
        • 기록 (7)
      • 📜 자격증 (2)
        • 정보처리기사 (2)
      • 학교 공부 (20)
        • ICT 개론 (14)
        • 리눅스 (6)
      • ChatGPT 랑 놀기 (0)
  • 블로그 메뉴

    • 홈
    • 방명록
    • 글쓰기
  • 링크

    • 깃허브
  • 공지사항

  • 인기 글

  • 태그

    신입일기
    연습문제
    프로그래머스
    파이썬
    카카오
    코민이
    6월 목표
    스프링 부트
    nodejs
    BOJ
    정보처리기사
    피보나치수
    오블완
    codeup
    찬양추천
    정처기
    코테
    컨텐더스
    충무로
    일기
    코린이
    백준
    til
    티스토리챌린지
    오버워치
    행렬덧셈
    50문답
    폰켓몬
    코드업
    스프링부트
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
듬듬
[프로그래머스 / Level 2] JadenCase 문자열 만들기 (파이썬)
상단으로

티스토리툴바