본문 바로가기

코딩테스트/코딩 테스트 입문

외계 행성의 나이

문제

 

# GPT 풀이

def solution(age):
    alphabet = "abcdefghij"
    return ''.join(alphabet[int(digit)] for digit in str(age))
  • Python에서는 문자열을 리스트처럼 인덱싱이 가능하다. (java, js, c#, c++ 가능하다.)
    • a는 0, b는 1, c는 2 ... →  인덱스를 통해 접근할 수 있다.

 

 

# for... in ...  (리스트 내포 형태로)

for 변수 in 반복할_대상:
    실행할_코드
  • 변수 → 반복 대상에서 하나씩 값을 가져와 저장하는 변수
  • 반복할_대상 → 리스트, 문자열, 튜플, 딕셔너리, range 등 반복 가능한(iterable) 자료형

 

 

# 리스트 내포 (list comprehension) :

시퀀스의 요소들 전부 또는 일부를 처리하고 그 결과를 리스트로 돌려주는 간결한 방법. 

age = 23
alphabet = "abcdefghij"

# 리스트 내포 실행
result = [alphabet[int(digit)] for digit in str(age)]
print(result)  # ['c', 'd']

이 코드의 동작을 풀어서 쓰면 다음과 같다.

result = []
for digit in str(age):  # "23" -> '2', '3'
    result.append(alphabet[int(digit)])  # 'c' 추가, 'd' 추가

 

 

 

 

# 출처 : https://docs.python.org/ko/3.13/glossary.html#term-list-comprehension

'코딩테스트 > 코딩 테스트 입문' 카테고리의 다른 글

숫자 찾기  (0) 2025.03.10
배열 회전시키기  (0) 2025.03.07
피자 나눠 먹기 (2)  (0) 2025.03.07
문자열 정렬하기(2)  (0) 2025.03.06
암호 해독  (0) 2025.03.05