[프로그래머스](python) 이상한 문자

🧩 문제


🧩 대문자, 소문자 변환

  1. ASCII
  2. .upper()
    .lower()

🧩 틀린 풀이


def solution(s):
    for idx, i in enumerate(s):
        nums = ord(i)
        if idx % 2 == 0:
            if idx == " ":
                answer += chr(nums)
            else:
                nums -= 32
        answer += chr(nums)
    return answer
    

📌

  • ASCII 방식 사용
  • enumerate()에서 공백은 인덱싱이 안된다고 오해하였다(그래서 처음엔 성공한 줄 알았음)

🏁 내 풀이


def solution(s):
    slist = s.split(' ')
    answer = ''
    for word in slist:
        for i, letter in enumerate(word):
            if i % 2 == 0:
                answer += letter.upper()
            else:
                answer += letter.lower()
        answer += ' '
    return answer[:-1]

📌

  • s.split(' ')
    "try hello world" 를 공백으로 나눠줌
  • for word in slist:
    한 단어의 for문 안에서 letter 하나하나 바꿔줌
  • return answer[:-1]
    for문을 끝까지 돌면 뒤에 공백이 붙기 때문에 [:-1] 로 공백 전까지만 return

좋은 웹페이지 즐겨찾기