본문 바로가기
python

CodeUp Python 1278 자릿수 계산

by Devinus 2021. 7. 25.

1. 문제 확인

codeup python 1178번 문제 자릿수 계산

 

어떤 숫자가 입력되면 그 숫자가 몇 자릿수 숫자인지 알아내는 프로그램을 작성하시오.

 

예)

7   ----> 1   (1자릿수)

10  ----> 2   (2자릿수)

4322 ----> 4   (4자릿수)

 

입력

1이상의 자연수 n이 입력된다. (n은 int 범위)

 

출력

그 숫자가 몇 자릿수 인지 출력하시오.

 

[사진 1] - codeup 1278 입출력 예시


2. 문제 분석

2.1 숫자형으로 입력받아 풀기

1. n을 입력받는다.

=> n을 정수형으로 입력받는다.

 

2. 길이를 입력받을 length를 0으로 초기화한다.

=> while 반복문을 이용해 length를 증가시킬 것이므로 반복문 시작 전에 0으로 초기화시킨다.

 

3. n의 자릿수를 구한다.

=> while문을 이용해 n이 0 이하가 아닌 경우 n을 10씩 나눠 자릿수를 1씩 증가시킨다.

 

4. 구한 자릿수를 출력한다.

=> 구한 자릿수를 `print()`함수를 이용해서 출력한다.

 

2.2 파이썬 문자형 특징을 이용해 풀기

1. n을 입력받는다.

=> 파이썬의 문자형 객체 특징을 이용하기 위해 `input()`함수를 이용해 문자형 값을 입력받는다.

 

2. n의 자릿수를 구한다.

=> 숫자의 자릿수는 숫자의 길이라고 볼 수 있다.

=> 본 문제는 전체 자릿수를 구하는 문제이므로 전체 길이를 구하면 된다.

=> 문자형은 길이가 있고 파이썬의 `len()`함수를 이용해 길이를 구할 수 있다.

 

3. 숫자의 자릿수를 출력한다.

=> 구한 자릿수를 `print()`함수를 이용해서 출력한다.


3. 문제 구현

3.1 숫자형으로 입력받아 구현

# 1. n을 정수형으로 입력받는다.
n = int(input())

# 2. 길이를 입력받을 length를 0으로 초기화한다.
length = 0

# 3. n이 0이하가 아닌 경우
# n을 10씩 나눌 때 마다 자릿수를 1씩 증가시킨다.
while n > 0:
    n //= 10
    length += 1

# 4. 구한 자릿수를 출력한다.
print(length)

 

3.2 파이썬 문자형 특징을 이용해 구현

# 1. n변수를 문자형으로 입력받는다.
n = input()

# 2. 파이썬 문자형의 길이를 len()함수를 이용해서 구한다.
length = len(n)

# 3. 구한 길이는 자릿수이므로 출력한다.
print(length)