쉬움 0명 해결 정답률 0%

시간, 분, 그리고 초

초 단위의 기간을 간결하고 읽기 쉬운 문자열로 변환하세요.

배우게 될 내용

  • 초를 시, 분, 초로 나누기
  • 나눗셈과 나머지를 함께 쓰기
  • 각 부분을 읽기 쉬운 문자열로 만들기

문제

원문 보기 (영어)

기간을 시간, 분, 초 단위로 나누세요. 단위는 각각 h, m, s로 표기하며, 이 순서대로 한 칸씩 띄워서 작성합니다. 값이 0인 단위는 생략하되, 초가 0일 때는 반드시 0s로 표기합니다.

format_duration(seconds)를 구현하세요.

입력

seconds: 전체 기간(초 단위).

출력

형식화된 기간 문자열을 반환하세요. 예시: 2h 2m 5s.

제약 조건

0 ≤ seconds ≤ 1,000,000,000. 시간(h)은 23을 초과할 수 있습니다. 이는 시각이 아니라 기간입니다.

예시

예시 1
입력:
seconds = 7325

예상 출력:
expected = "2h 2m 5s"
입력:
long long seconds = 7325;

예상 출력:
std::string expected = "2h 2m 5s";
입력:
long seconds = 7325;

예상 출력:
string expected = "2h 2m 5s";

설명

7325 = 2 × 3600 + 2 × 60 + 5.

예시 2
입력:
seconds = 120

예상 출력:
expected = "2m"
입력:
long long seconds = 120;

예상 출력:
std::string expected = "2m";
입력:
long seconds = 120;

예상 출력:
string expected = "2m";

설명

120초는 정확히 2분입니다. 0인 시간과 초 단위는 생략합니다.

접근 방법

먼저 스스로 풀어 본 뒤 힌트를 하나씩 열어 보세요.

힌트 1

전체 초를 큰 단위부터 나누고, 0이 아닌 부분만 형식화하세요.

힌트 2

시간, 분, 초 순서로 유지하고, 포함된 단위 사이에는 공백을 넣으세요.

힌트 3

더 큰 단위가 모두 0이어도, duration이 0이면 출력은 정확히 0s여야 합니다.

예상 복잡도

시간 O(1), 추가 공간 O(1)

참고 자료

이 문제는 CodeUtility에 맞게 수정되었습니다. 위의 설명과 제한 조건을 따르세요.

다른 사람의 풀이 보기

커뮤니티 솔루션

아직 공개된 풀이가 없습니다. 문제를 풀고 첫 풀이를 공유하세요.