CodeWars 세 번째 문제
Updated:
Human Readable Time
public class HumanReadableTime {
public static String makeReadable(int seconds) {
// 1분에 60초
// 1시간에 3600초
if(359999 < seconds) {
return "99:59:59";
}
int hour = seconds/3600;
int min = (seconds%3600)/60;
int sec = (seconds%3600)%60;
return String.format("%02d:%02d:%02d", hour, min, sec);
}
}
*String format 형식
String클래스의 format 메소드는 지정된 위치에 값을 대입해서 문자열을 만들어 내는 용도로 사용
[String format문 형식]
%[[argument_index$]][flags][width]conversion
%와 conversion은 필수 항목이지만 대괄호로 되어있는[[argument_index$]][flags][width] 부분은 생략 가능
즉, %conversion 형식으로 사용할 수 있고 나머지 부분은 옵션
conversoin위치에는 출력되는 데이터의 타입을 입력 : s(문자열), d(정수), x(16진수), o(8진수), f(실수)
%는 필수이므로 코드는 %s, %d, %x, %o, %f로 사용됩니다
예시)
System.out.println("12345678901234567890");
// 길이를 10으로 지정 (width 옵션)
System.out.println(String.format("%10s%10s", "KOREA", "JAPAN"));
// 길이를 10으로 지정 (width + argument_index 옵션)
System.out.println(String.format("%2$10s%1$10s", "KOREA", "JAPAN"));
System.out.println(String.format("%-10s%-10s", "KOREA", "JAPAN"));
System.out.println(String.format("%2$10d%1$10d", 12345, 67890));
System.out.println(String.format("%+10d%+10d", 100, -200));
System.out.println(String.format("%+010d%+010d", 100, -200));
System.out.println(String.format("%10.2f%10.2f", 100000.999f, 200000.999f));
System.out.println(String.format("%10X%10X", 2047, 2047));
12345678901234567890
KOREA JAPAN
JAPAN KOREA
KOREA JAPAN
67890 12345
+100 -200
+000000100-000000200
100001.00 200001.00
7ff 7ff