切換
舊版
前往
大廳
主題

ZeroJudge - b981: YoJudge 預練(時間之章) 解題心得

Not In My Back Yard | 2018-09-09 11:32:54 | 巴幣 0 | 人氣 259

題目連結:

題目大意:
給定一個字串S,表示時間的長度。將其全數統一轉換成毫秒,並輸出。

以下為S可能的格式,X、Y、Z、A、B皆為非負整數,且0 ≦ X < 24、0 ≦ Y、Z < 60、0 ≦ A < 10、0 ≦ B < 1000:
Xhour,代表有X個小時。
XhYm,代表有X小時和Y分鐘。
XhYmZs,代表X小時Y分鐘和Z秒。
Ymin,代表有Y分鐘。
YmZs,代表有Y分鐘Z秒。
Zs,代表有Z秒。
Z.As,代表有Z秒又A * 100毫秒。
Bms,代表有B毫秒。

解題思維:
用迴圈從頭跑字串到尾。有很多的作法,以下是其中一種:

先把遇到的數字都存在另一個字串裡,一遇到「h」、「m」、「s」、「ms」就將儲存的內容轉換成數字到相應的時間,然後把另一個字串清空。

不過「s」那邊的比較麻煩,因為有可能有一個「.」。可以多開字串儲存或是在轉換成數字時多一個條件去判斷,都可以。


此次分享到此為止,如有任何更加簡潔的想法或是有說明不清楚之地方,也煩請各位大大撥冗討論。

創作回應

更多創作