Berapa lama lagi?
Baru-baru ini, saya membuat pizza menggunakan penghitung waktu 5 menit di ponsel saya. Ketika seseorang masuk dan bertanya kepada saya berapa lama yang tersisa, pada awalnya saya bingung bagaimana menjawab pertanyaan itu. Anda tahu, jika penghitung waktu saat ini adalah jam 3:47, pada saat saya membacakan 'Tiga menit empat puluh tujuh detik' dengan keras, waktu akan berubah. Oleh karena itu, saya harus mencari waktu yang timer akan mencapai hanya karena saya selesai membaca itu.
Ini adalah tantangan Anda: untuk mengotomatisasi proses ini. Diberi waktu dalam format apa pun yang sesuai (":" dibatasi, atau sebagai argumen menit dan kedua), mengeluarkan waktu paling awal dari momen saat ini yang akan mengambil jumlah waktu yang sama untuk dibacakan karena waktu yang diperlukan pengatur waktu untuk mendapatkan untuk. Kami mengasumsikan bahwa setiap suku kata membutuhkan waktu 1 detik untuk membacanya.
Aturan lebih lanjut
- Anda harus menghitung 'menit' dan 'detik' sebagai dua suku kata masing-masing, serta 'dan' di antara mereka.
- Pizza tidak akan pernah membutuhkan lebih dari 59:59 untuk memasak.
- '11 menit dan 0 detik 'bukan 10 suku kata: Anda harus menyederhanakan menjadi '11 menit' (yaitu 5 suku kata). Sama halnya dengan menit: '0 menit dan 7 detik' juga hanya dihitung sebagai 4 suku kata.
- Program Anda dapat memberikan output dalam format apa pun: array
[minutes, seconds]
, atau bahkan sebagai<minutes> minutes and <seconds> seconds
(teks biasa dituliskan). - Celah standar berlaku.
- Ini adalah kode-golf , jadi jawaban tersingkat dalam byte menang.
Uji kasus
Semua input sebagai (minutes, seconds)
(4, 47) = (4, 38) (Four MiNutes And ThirTy Eight SeConds - 9 syllables/seconds)
(1, 1) = (0, 56) (FifTy-Six SeConds - 5 syllables/seconds)
(59, 57) = (59, 46) (FifTy Nine Minutes And Forty Six SeConds - 11 syllables/seconds)
(0, 10) = null/error/0 (no positive answer)
Referensi jumlah suku kata
Untuk referensi, berikut adalah jumlah suku kata di setiap nomor hingga 59.
0,0 (does not need to be counted)
1,1
2,1
3,1
4,1
5,1
6,1
7,2
8,1
9,1
10,1
11,3
12,1
13,2
14,2
15,2
16,2
17,3
18,2
19,2
20,2
21,3
22,3
23,3
24,3
25,3
26,3
27,4
28,3
29,3
30,2
31,3
32,3
33,3
34,3
35,3
36,3
37,4
38,3
39,3
40,2
41,3
42,3
43,3
44,3
45,3
46,3
47,4
48,3
49,3
50,2
51,3
52,3
53,3
54,3
55,3
56,3
57,4
58,3
59,3