doistory

공백없이 쭉 붙어있는 수 자릿수를 분리하여 리스트로 만들기 본문

[ 공부중 ]/코딩테스트

공백없이 쭉 붙어있는 수 자릿수를 분리하여 리스트로 만들기

떡볶이최고 2023. 12. 31. 17:25

 

하나의 N 자리 자연수를 입력받아서 각 자리수를 따로 구분하거나, 각 자리수 합을 구해야할 때

각 자리 숫자들을 분리해야한다.

예를들어 '1234' 라고 입력하며 '1, 2, 3, 4' 로 바꿔줘야한다.

먼저 input()은 입력을 '문자열'로 받아온다는 사실을 염두해야한다.

 

2가지 방법이 있다.

 

1. 리스트 컴프리헨션

N = input()
 
numbers = [int(digit) for digit in N]
 
print(numbers)

 

for문을 사용하여 input 받은 문자열 N을 순회하면서 각 자리수를 정수로 변환하여 새로운 리스트를 만든다.

N은 str형으로 받게된다.

 

 

2. 형 변환

N = input()
 
numbers = list(map(int, N))
 
print(numbers)

문자열로 입력받은 값 -> 정수리스트 변환 이다.

input()은 문자열로 받아오기 때문에 이걸 list로 변환하면 ['1', '2', '3', '4']가 되어 연산에 쓸 수 없다.

따라서 map 함수를 이용하여 정수로 만들고 다시 list로 감싸주면 [1, 2, 3 ,4]가 된다.