프로그래밍/Python

프로그래머스_python lv0. 외계행성의 나이

O'bin 2023. 2. 2. 23:48

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

 

프로그래머스

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

programmers.co.kr

 

 

내 답안 : 

 
1
2
3
4
5
6
7
def solution(age):
    answer = ''
    # 변환 테이블을 딕셔너리로 선언
    convert = {'0':'a','1':'b','2':'c','3':'d','4':'e','5':'f','6':'g','7':'h','8':'i','9':'j'}
    for i in str(age):    # int로 들어온 age를 str으로 변환해 반복
        answer += convert[i]
    return answer
cs

 

age가 정수로 들어오는데, 이걸 연산을 통해 자릿수별로 떼서 판단하는 것 보다 문자열로 바꿔서 변환하는게 더 간단할 것 같아 위와 같이 풀었다.

 

 

개선안 : 

 

1
2
3
4
def solution(age):
    convert = {'0':'a','1':'b','2':'c','3':'d','4':'e'
            ,'5':'f','6':'g','7':'h','8':'i','9':'j'}
    return ''.join(convert[i] for i in str(age))
cs

 

join 함수를 활용하면 코드를 좀 더 짧게 짤 수 있다.