[python] 프로그래머스 JadenCase 문자열 만들기 파이썬

hyewon9913·2024년 6월 12일
0

코딩테스트(python)

목록 보기
25/46

처음에 이 문제를 접하고 C언어로 알고리즘을 풀 때처럼 아스키코드를 이용해서 대소문자 확인 및 변환을 해주려고 했는데 파이썬에는 islower,isupper,upper,lower과 같은 내장함수가 있다는 것을 알게 되었다.

def solution(s):    
    ls = list(s)
    #소문자라면
    if (ls[0]).islower():
        #대문자로 변환
        ls[0] = (ls[0]).upper()
    
    for i in range(1,len(ls)):
        #이전문자가 공백이고
        if ls[i-1] == ' ':
            #소문자라면
            if (ls[i]).islower():
                #대문자로 변환
                ls[i] = (ls[i]).upper()
        else:
             #이전문자가 공백이 아닌데 대문자라면
            if (ls[i]).isupper():
                #소문자로 변환
                ls[i] = (ls[i]).lower()
            
                
                
    answer =  ''.join(ls)
    return answer

알고리즘이 어렵다기보단 파이썬의 어떤 내장함수를 사용하여 문제를 해결해줄지 생각하는부분이 중요했던 문제 같다,

ls 를 str(ls)를 통해 문자열로 변경해주려고 했는데 이렇게 해주어도 리스트 형태로만 출력이 돼서

answer =  ''.join(ls)

를 통해서 문자열로 변경해주었다.

profile
차근차근 굴러가는 코딩일지

0개의 댓글