728x90
반응형
https://www.codewars.com/kata/52742f58faf5485cae000b9a/train/python
더보기
내 코드
# My Code
def format_duration(seconds):
y, d, h, m, s, answer = ' year', ' day', ' hour', ' minute', ' second', ''
# 0일 경우 now 리턴
if seconds == 0: return 'now'
# 시간 계산
minute = seconds // 60
seconds = seconds % 60
hour = minute // 60
minute -= hour * 60
day = hour // 24
hour -= day * 24
year = day // 365
day -= year * 365
tmp = [year, y, day, d, hour, h, minute, m, seconds, s]
answer_list = []
for i in range(len(tmp)):
if i % 2 == 0 and tmp[i] != 0:
# 복수일 경우는 's'를 붙여줘야 한다.
if tmp[i] > 1:
tmp[i+1] += 's'
answer_list.append(str(tmp[i]) + tmp[i+1])
return (', '.join(answer_list[:-1]) + ' and ' + answer_list[-1] if len(answer_list)>1 else answer_list[0])
if __name__=='__main__':
answer = format_duration(1)
print(answer)
answer = format_duration(62)
print(answer)
answer = format_duration(120)
print(answer)
answer = format_duration(3600)
print(answer)
answer = format_duration(3662)
print(answer)
|
전에 한번 도전했다가 풀지 못했던 문제였다.
문제를 풀고 다른 사람 코드를 보니 이렇게까지 고민할 문제였나라는 생각이 들었다.
반응형
'알고리즘 > 코드워' 카테고리의 다른 글
[python]altERnaTIng cAsE <=> ALTerNAtiNG CaSe (0) | 2020.04.08 |
---|---|
[python]Is my friend cheating? (0) | 2020.04.06 |
[python]What's a Perfect Power anyway? (0) | 2020.04.03 |
[python]Beginner Series#1 School Paperwork (0) | 2020.04.01 |
[python]Is it even? (0) | 2020.03.30 |