[Python] 입력된 숫자의 자릿수 판별 함수 만들기

해당 포스트에서는 파이썬에서 입력받은 숫자의 자릿수를 판별하는 함수를 소개합니다.

1. INTRO

네이버 지식iN에서 지식을 공유하고 있습니다. 간단한 질문들은 해당 질문에 바로 답변을 드리지만 질문의 내용이 유익하거나 추가 설명이 필요한 경우에는 포스팅을 작성하여 공유드리고 있습니다.

2. 질문

▲ 네이버 지식인 질문

3. 풀이

이번 문제는 프로그래밍 수업에서 자주 다루는 자릿수 판별기 문제입니다. 제시 조건에 따라 난이도가 크게 바뀔 수 있지만 이번 문제에서는 주어진 조건이 어렵지않아 쉽게 풀이할 수 있었습니다.

문제에서 주어진 조건은 아래와 같습니다.

  1. 1~999까지의 숫자 중 하나 입력될 때 몇 자리 숫자인지 판별
  2. 판별된 자릿수에 따라 다른 문자열 출력
    • 1자리(1~9) : '한 자리 숫자입니다.'
    • 2자리(10~99) : '두 자리 숫자입니다.'
    • 3자리(100~999) : '세 자리 숫자입니다.'

스크립트 작성

위 조건들을 반영하여 아래와 같이 코드를 작성하였습니다. 아래 코드에서 살펴볼 부분은 숫자형(int)으로 입력받은 num을 문자형(str)으로 변환하여 길이(len)를 측정한 부분입니다.

파이썬(python)에서는 숫자형(integer) 데이터의 길이를 계산하는 함수를 지원하지 않습니다.

num = int(input())

if len(str(num)) == 1:
    print('한 자리 숫자입니다.')
elif len(str(num)) == 2:
    print('두 자리 숫자입니다.')
else:
    print('세 자리 숫자입니다.')
## 59
## 두 자리 숫자입니다.

4. 마무리

이번 포스트에서는 입력된 숫자의 자릿수 판별 방법을 소개해 드렸습니다. 프로그래밍 학습 과정에서 자주 접할수 있는 문제로 기본 난이도는 높지 않으나 조건(condition)을 어떻게 제시하느냐에 따라 난이도가 크게 높아질 수 있는 문제입니다. 기본을 확실히 이해하시고 파생 문제들도 많이 스터디 하시는 걸 추천드립니다.

banner-request-analysis