문제 링크
풀이
그냥 케이스를 잘 따져서 출력하는 문제. 상당히 귀찮다.
Java 코드
더보기
import java.io.*;
public class Main {
private static String[] hours = new String[]{
"one", "two", "three", "four", "five", "six",
"seven", "eight", "nine", "ten", "eleven", "twelve", "one"
};
private static String[] minutes = new String[]{
"one", "two", "three", "four", "five", "six", "seven", "eight", "nine", "ten", "eleven",
"twelve", "thirteen", "fourteen", "fifteen", "sixteen", "seventeen", "eighteen", "nineteen"
};
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int h = Integer.parseInt(br.readLine());
int m = Integer.parseInt(br.readLine());
String pastOrTo = m <= 30 ? "past " : "to ";
if (m > 30) m = 60 - m;
else --h;
if (m == 0) System.out.println(hours[h] + " o' clock");
else if (m == 1) System.out.println("one minute " + pastOrTo + hours[h]);
else if (m == 15) System.out.println("quarter " + pastOrTo + hours[h]);
else if (m == 30) System.out.println("half " + pastOrTo + hours[h]);
else if (m < 20) System.out.println(minutes[m - 1] + " minutes " + pastOrTo + hours[h]);
else {
System.out.print("twenty");
if (m % 10 != 0) System.out.print(" " + minutes[m % 10 - 1]);
System.out.println(" minutes " + pastOrTo + hours[h]);
}
}
}
'PS > boj' 카테고리의 다른 글
[BOJ] 1498 주기문 (0) | 2021.01.19 |
---|---|
[BOJ] 12760 최후의 승자는 누구? (0) | 2021.01.19 |
[BOJ] 1522 문자열 교환 (0) | 2021.01.19 |
[BOJ] 10823 더하기 2 (0) | 2021.01.18 |
[BOJ] 1000 A+B (0) | 2021.01.17 |