[프로그래머스][파이썬] 외계행성의 나이 - 구현 (Level 0)

뻥튀기아이스크림·2025년 3월 15일
1
post-thumbnail

◽ 문제 출처

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

◽ 문제

◽ 입력 & 출력

◽ 내 풀이

def solution(age):
    answer = []
    
    for i in str(age):
        answer.append(chr(int(i) + 97))
        
    return ''.join(answer)
  • age를 문자로 형 변환 후, 한 글자씩 떼어 a의 아스키코드 값인 97을 더하여 문제 조건에 맞추었다.
  • 문자열의 변경이 많을것 같아, join 함수로 한 번에 반환하였다.

◽ 다른 사람 풀이

def solution(age):
    answer = ''
    alpha = ['a','b','c','d','e','f','g','h','i','j']
    age = str(age)
    
    for i in age:
        answer += alpha[int(i)]
        
    return answer
  • 아스키코드가 헷갈린다면 이 방법도 좋은것 같다.
  • 하지만 알파벳 j까지 하드코딩되는 방법이다 보니 알파벳 순서를 실수하면 큰일 나겠다.

◽ 더 나아가기

  • join() 함수와 += 연산자 활용한 문자열 생성을 시간복잡도 때문에 고민을 많이 했다.
  • ChatGPT에게 질문을 해보니 n10,000 정도까지는 큰 차이가 안나지만 더 많을 때는 join이 유의미한 차이를 보인다고 한다.



피드백은 언제나 환영입니다 :)

profile
성장하고 싶은 개발자

0개의 댓글