1. 프로그래머스 python 코딩테스트
Level 0. 외계행성 나이
우주여행을 하던 머쓱이는 엔진 고장으로 PROGRAMMERS-962 행성에 불시착하게 됐습니다. 입국심사에서 나이를 말해야 하는데, PROGRAMMERS-962 행성에서는 나이를 알파벳으로 말하고 있습니다. a는 0, b는 1, c는 2, ..., j는 9입니다. 예를 들어 23살은 cd, 51살은 fb로 표현합니다. 나이 age가 매개변수로 주어질 때 PROGRAMMER-962식 나이를 return하도록 solution 함수를 완성해주세요.
정답 확인
딕셔너리 사용
def solution(age): d = { 0:'a', 1:'b', 2:'c', 3:'d', 4:'e', 5:'f', 6:'g', 7:'h', 8:'i', 9:'j' } return ''.join(d[int(i)] for i in str(age))
딕셔너리
return
은 결과를 반환하는 키워드.result =
변수 할당하고 사용함.d[i] for i in str(age)
는 str(age)에서 하나씩 뽑는 i가 문 자열이라 딕셔너리 key (숫자)랑 매치를 못함.d[i]
를 숫자로 변경해서, 딕셔너리 key랑 매치함.
2.
인덱스 사용
def solution(age): answer = '' alpha = ['a','b','c','d','e','f','g','h','i','j'] for i in str(age): answer += alpha[int(i)] return answer
인덱스
는정수
여야하기 때문에alpha[int(i)]
라고정수
처리함.
인덱스 정리
값을 가져오기.
리스트[인덱스]
or 문자열[인덱스]
ex. a[1] -> 'b'
위치 찾기.
리스트.인덱스(값)
or 문자열.index(값)
ex. a.index('b') -> 1
안되는 경우!!
d = {'a': 1, 'b': 2}
d.index('a') # ❌ AttributeError 발생
d['a'] # -> 1 딕셔너리는 key 기반.
딕셔너리.[]
사용해야함.n번째 항목
을 찾을때list(d.items())[1] # ('b', 20) → 두 번째 항목
list(d.keys())[1] # 'b' → 두 번째 키
list(d.values())[1] # 20 → 두 번째 값