<aside> 💬 lv0, 타입 확인

데이터 타입 확인

문제 설명

다양한 데이터 타입을 가진 항목들이 리스트로 주어집니다. 이 리스트에 있는 각 항목의 데이터 타입을 확인하고, 해당 타입의 이름을 문자열로 반환하는 코드를 작성해주세요. 지원되는 데이터 타입은 정수(int), 실수(float), 문자열(str), 리스트(list), 튜플(tuple), 사전(dict)입니다.


제한 사항


입출력 예

입력 (데이터 리스트) 출력 (타입 이름 리스트)
[123, 4.56, 'hello', [1, 2, 3], (4, 5), {'a': 1, 'b': 2}] ['int', 'float', 'str', 'list', 'tuple', 'dict']

입출력 설명

주어진 리스트의 각 항목에 대해 데이터 타입을 확인하고, 그 타입의 이름을 문자열로 반환합니다. 예를 들어, 123은 'int', 'hello'는 'str', [1, 2, 3]은 'list' 등으로 타입이 결정됩니다.

</aside>

😺 풀이 1. 데이터 타입 확인과 타입 이름 반환

def solution(data):
    **#1 입력 데이터 순회 및 #2 각 항목의 데이터 타입 확인**
    **#3 타입 이름 반환**
    return [type(item).__name__ for item in data]

단계별 풀이 전략

  1. 입력 데이터 순회

    주어진 데이터 리스트를 순회합니다.

  2. 각 항목의 데이터 타입 확인

    각 항목의 데이터 타입을 확인합니다.

  3. 타입 이름 반환

    각 항목의 데이터 타입 이름을 문자열로 반환합니다.

알아둬야 할 개념

type() 함수와 __name__ 속성

풀이 2. 리스트 컴프리헨션 사용

def solution(data):
    return [str(type(idx)).split("'")[1] for idx in data] 
		**#1, 2 리스트 컴프리헨션 정의 및 타입추출**

단계별 풀이전략

  1. 리스트 컴프리헨션 정의

    리스트 컴프리헨션을 사용하여 입력 리스트 data의 각 항목 idx에 대해 type(idx)를 호출합니다.

  2. 타입추출

    결과 타입 문자열에서 타입 이름만 추출합니다. 타입 문자열은 <class 'int'>, <class 'str'> 등의 형태로 반환되므로, 'split()하여 타입 이름만 가져옵니다.

알아둬야 할 개념

type() 함수