본문 바로가기
KDT/과제

[파이썬, Python] 주민등록번호 유효성 검사하기 ✅

by coding-choonsik 2023. 3. 10.
728x90
반응형
SMALL

문제

  • 마지막 자리를 제외하고 순서대로 2 3 4 5 6 7 8 9 2 3 4 5 의 가중치를 곱함
  • 각 자리수에 가중치를 곱한 수를 모두 더함
  • 102 % 11 (11로 나눈 나머지 값을 구함)
  • 해당 값을 11에서 뺌, 단 값이 두 자리인 경우 10으로 나눈 나머지 값을 구함
  • 주민번호의 마지막 자리와 일치하면 유효

 

💡나의 풀이

 

jumin_no = list(input("주민등록번호 13자리를 '-'없이 입력하세요: "))   # str list
num = [2, 3, 4, 5, 6, 7, 8, 9, 2, 3, 4, 5]
total = 0

for i in range(12):
  sum = int(jumin_no[i]) * num[i]
  total += sum
print(f'숫자를 모두 더한 값은 {total}입니다')

# 뺀 값이 두자리 라면 다시 10을 나눈 나머지값을 구함
num = (11 - (total % 11)) % 10    

if int(jumin_no[-1]) == num:
  print('유효한 주민번호 입니다')
else:
  print('주민번호를 확인하세요')

 

코드 공유 받습니다. 😀

 

728x90
반응형
LIST