본문 바로가기

Development/Algorithm

연, 월, 일 입력받아 그대로 출력하기

입력 예시

2020.5.9

99.1.9

출력 예시

2020.05.09

0099.01.09

이처럼 연도는 4자리, 월과 일은 2자리에 맞춰 빈자리가 있을경우 0을 채워 출력하는 문제이다.

처음에는 연도 입력을 4자리로만 해서 그에 대한 케이스를 생각못하고 월, 일에만 적용했다가 잘못된 풀이가 떠서 수정했다.

내가 제출한 소스는 다음과 같다. zfill을 이용해서 구현했다.

y, m, d = input().split(".")
print(y.zfill(4), m.zfill(2), d.zfill(2), sep = ".")

모범답안에서는 % 연산자 를 이용하여 구현했다.

공식문서에서 zfill() 메소드를 찾아보니

Screen Shot 2020-05-09 at 12.30.28 PM

zfill은 string 모듈이고, % 연산자 가 더 유동성있고 강력하다고 한다.

이를 이용해서 고쳐 본 소스는 다음과 같다.

y, m, d = input().split(".")
print('%04d' % int(y), 
      '%02d' % int(m), 
      '%02d' % int(d), 
      sep = ".")

문제 출처 : 코드업기초 100제 - 1019번 연월일 입력받아 그대로 출력하기


'Development > Algorithm' 카테고리의 다른 글

코딩테스트 준비  (0) 2020.05.05
정렬 알고리즘-삽입 정렬 알고리즘  (0) 2020.03.12