1. 문제 확인
codeup python 1178번 문제 자릿수 계산
어떤 숫자가 입력되면 그 숫자가 몇 자릿수 숫자인지 알아내는 프로그램을 작성하시오.
예)
7 ----> 1 (1자릿수)
10 ----> 2 (2자릿수)
4322 ----> 4 (4자릿수)
입력
1이상의 자연수 n이 입력된다. (n은 int 범위)
출력
그 숫자가 몇 자릿수 인지 출력하시오.
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)