結果
| 問題 |
No.405 ローマ数字の腕時計
|
| コンテスト | |
| ユーザー |
ontama_12
|
| 提出日時 | 2016-09-26 16:05:52 |
| 言語 | JavaScript (node v23.5.0) |
| 結果 |
AC
|
| 実行時間 | 69 ms / 2,000 ms |
| コード長 | 2,101 bytes |
| コンパイル時間 | 139 ms |
| コンパイル使用メモリ | 5,248 KB |
| 実行使用メモリ | 40,192 KB |
| 最終ジャッジ日時 | 2024-07-06 19:06:04 |
| 合計ジャッジ時間 | 2,643 ms |
|
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 27 |
ソースコード
///////////////////////No.405 ローマ数字の腕時計
//入力文字読み取り
process.stdin.resume();
process.stdin.setEncoding('utf8');
process.stdin.on('data', function (chunk) {
//すべて受け取り改行で区切って格納
var inputall = chunk.split(" ");
timelater = Number(inputall[1]);
//ローマ数字を一つ一つ分割して解読する
var romanumber = inputall[0].split("");
var presentnumber = 0;
for (var i = 0; i < romanumber.length; i++) {
if (romanumber[i] == "X") {
romanumber[i] = 10;
} else if (romanumber[i] == "V") {
romanumber[i] = 5;
} else {
romanumber[i] = 1;
}
presentnumber += romanumber[i];
}
if(romanumber[0] ==1 && romanumber[1] ==10){
presentnumber =9
}
//何時間進んだかを計算
var result = presentnumber + timelater;
//答えのローマ数字を入れる
var ans =[]
if (result <= 12 &&result >=0) {
}else if(result>12){
result = Math.floor(result % 12);
} else {
while (true) {
if (result >= 0) {
break;
}
result += 12
}
}
//ローマ数字に戻して出力
if (result == 0) {
ans .push("XII")
} else if (result == 9) {
ans.push("IX")
} else {
if (result >= 10) {
ans.push("X");
result = result - 10;
}
if (result >= 5) {
ans.push("V");
result = result - 5;
}
if (result > 0) {
while (true) {
if (result == 0) {
break;
}
ans.push("I");
result -= 1;
}
}
}
console.log(ans.join(""))
});
ontama_12