728x90
Instruction.
Write a function, which takes a non-negative integer(seconds) as input and returns the time in a human readable format(HH:MM:SS)
- HH = hours, padded to 2 digits, range: 00- 99
- MM = Minutes, padded to 2 digits, range: 00-59
- SS = seconds, padded to 2 digits, range: 00-59
The maximum time never exceeds 359999(99:59:59)
You can find some examples in the test fixtures.
음이 아닌 정수(초)를 입력받아 사람이 읽을 수 있는 형식(HH:MM:SS)으로 반환하는 함수를 작성해라.
- HH = 시간, 2자리 숫자, 범위 00-99
- MM = 분, 2자리 숫자, 범위 00-59
- SS = 초, 2자리 숫자, 범위 00-59
최대 입력값은 359999(결과값 99:59:59)를 초과하지 않는다.
테스트에서 몇가지 예를 확인할 수 있다.
Solution.
function humanReadable(seconds) {
const h = parseInt(Math.floor(seconds / 3600));
const m = parseInt(Math.floor((seconds % 3600) / 60));
const s = seconds - (h * 3600) - (m * 60);
return (h < 10 ? ( h === 0 ? "00" : "0" + h) : h) + ":" + (m < 10 ? ( m === 0 ? "00" : "0" + m) : m) + ":" + (s < 10 ? ( s === 0 ? "00" : "0" + s) : s);
}
* parseInt(문자열, 진수) - 문자열 인자를 파싱해 특정 진수의 정수를 반환(진수는 optional)
* Math.floor(숫자) - 주어진 숫자와 같거나 작은 정수 중에서 가장 큰 전수를 반환
Best Solution.
function humanReadable(seconds) {
var pad = function(x) { return (x < 10) ? "0"+x : x; }
return pad(parseInt(seconds / (60*60))) + ":" +
pad(parseInt(seconds / 60 % 60)) + ":" +
pad(seconds % 60)
}
'1Day 1Practice' 카테고리의 다른 글
[codewars] Moving Zeros To The End (0) | 2022.07.12 |
---|---|
[codewars] Count characters in your string (0) | 2022.07.08 |
[codewars] First non-repeating character (0) | 2022.06.23 |
[codewars] Valid Parentheses (0) | 2022.06.15 |
[codewars] Stop gninnips My sdroW! (0) | 2022.06.14 |