알고리즘 (JAVA)/프로그래머스 알고리즘

[코테준비 - python] 이상한 문자 만들기 level1 - 개발자 배찌

개발자 배찌 2022. 12. 3. 16:07
728x90

문법을 몰라서 찾아봤던 문제!

 

대문자로 만들기 -> s.upper()

소문자로 만들기 -> s.lower()

맨끝에서 앞 한자리 뺴고 출력 -> return s[0:-1]

 

 

 

문제풀이

def solution(s):
    answer=''
    answer_list = s.split(' ')
    answer_list_len = len(answer_list)
    
    for i in range(answer_list_len) :
        for j in range(len(answer_list[i])) :
            if j%2 == 0 :
                answer += answer_list[i][j].upper()
            else :
                answer += answer_list[i][j].lower()
        if i == answer_list_len-1 :
            break
        answer += ' '
    return answer

 

여기에서 헤맸던 포인트는

문제에서 "공백별로 짝수 홀수 인덱스를 판단해야 한다"

이 부분을 이해를 못했었다.. 역시 문제를 잘 읽어봐야한다는..... 이해력 딸리는..1인

 

그래서 list 를 만들어서 공백별로 단어를 담고,

for문을 돌려서 해결하였다.

 

그리고 마지막에 ' ' 공백 출력되는 부분을 없애기위해

i가 마지막번째이면 for문을 멈췄는데 저 구문을 쓰지 않고 다른사람은 

 answer[0:-1]로 처리를 한 사람이 있었다. 오!! 신박해

 

다른사람 풀이

def solution(s):
    answer = ''
    new_list = s.split(' ')
    for i in new_list:
        for j in range(len(i)):
            if j % 2 == 0:
                answer += i[j].upper()
            else:
                answer += i[j].lower()
        answer+= ' '
    return answer[0:-1]