본문 바로가기
알고리즘/CodeUp PS

[CodeUp][Python] 1171번 : 당신의 학번은? 2

by 빛밤하늘 2021. 8. 24.
반응형

밑의 링크는 CodeUp에서의 문제 링크입니다.

문제는 링크를 통해서 직접 봐주시길 바랍니다.

 

당신의 학번은? 2

학년, 반, 번호가 공백을 기준으로 입력된다.(정수) 입력범위) 학년: 3이하, 반: 20반이하, 번호, 999번 이하

codeup.kr

 

 

 

 

 

 

 

 

주의해야 할 점

readline을 사용해서 입력할 때는 맨 끝에 \n이 붙는다는 것을 잊으시면 안 됩니다.




생각한 풀이 과정

  1. readline을 사용하기 위해 import 합니다.
  2. 학년, 반, 번호를 공백으로 구분해 입력합니다. 맨 끝의 \n은 떼고, 각각 변수 grade, class_num, num에 넣어줍니다.
  3. 반의 값인 class_num의 정수형이 10 미만인 한 자리 숫자라면, 문자열 형태의 class_num 값 앞에 문자 '0'을 붙여줍니다.
  4. 번호의 값인 num의 정수형이 10 이상 100 미만인 2자리 숫자라면, 문자열 형태의 num 값 앞에 문자 '0'을 붙여줍니다.
  5. 번호의 값인 num의 정수형이 10 미만인 한 자리 숫자라면, 문자열 형태의 class_num 값 앞에 문자열 '00'을 붙여줍니다.
  6. 문자열 값들인 학년 grade, 반 class_num, 번호 num의 값들을 이어 붙여서 출력합니다.




 

 

 

 

 

제출한 파이썬 코드

# readline을 사용하기 위해 import합니다.
from sys import stdin


# 학년, 반, 번호를 공백으로 구분해 입력합니다.
# 맨 끝의 \n은 떼어줍니다.
grade, class_num, num = stdin.readline().rstrip().split()

# 반의 정수형 값이 10 미만이라면
if int(class_num) < 10:
    # 반의 문자열 값 앞에 문자 '0'을 붙여줍니다.
    class_num = '0' + class_num

# 번호의 정수형 값이 10 이상 100 미만이라면
if 10 <= int(num) < 100:
    # 번호의 문자열 값 앞에 문자 '0'을 붙여줍니다.
    num = '0' + num
# 번호의 정수형 값이 10 미만이라면
elif int(num) < 10:
    # 번호의 문자열 값 앞에 문자열 '00'을 붙여줍니다.
    num = '00' + num

# 학년, 반, 번호를 모두 붙여서 출력합니다.
print(grade + class_num + num)

 

 

 

제출 결과

결과

 

 

 

※ 궁금한 부분, 이상한 점 및 오타는 댓글에 부탁드립니다.

※ 더 효율적이고 빠른 정답을 환영합니다.

반응형

댓글