/////////////////////////No.405 ローマ数字の腕時計 //入力文字読み取り process.stdin.resume(); process.stdin.setEncoding('utf8'); process.stdin.on('data', function (chunk) { //すべて受け取り改行で区切って格納 var inputall = chunk.split(" "); //何時間進ませるかを数値化 timelater = Number(inputall[1]); //ローマ数字から変換し現代数字をいれる var presentnumber = 0; //ローマ数字をX,V,Iに分割して解読する var romanumber = inputall[0].split(""); 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]; } // XIだけは上記の方法では変換できないので特別に条件分けする if(romanumber[0] ==1 && romanumber[1] ==10){ presentnumber =9 } //何時間進んだかを計算 var resultwatch = presentnumber + timelater; //答えのローマ数字を入れる際、短針が指し示す数を条件分け if (resultwatch <= 12 &&resultwatch >=0) { }else if(resultwatch>12){ resultwatch = Math.floor(reresultwatchsult % 12); } else { while (true) { if (resultwatch >= 0) { break; } resultwatch += 12 } } var resultromawatch =[]; //ローマ数字に戻して出力 //X、V、Iをリストに追加していく if (resultwatch == 0) { //0時=12時 resultromawatch .push("XII") } else if (resultwatch == 9) { //9時は変換できないので区別している resultromawatch.push("IX") } else { //その他の時間 if (resultwatch >= 10) { resultromawatch.push("X"); resultwatch = resultwatch - 10; } if (resultwatch >= 5) { resultromawatch.push("V"); resultwatch = resultwatch - 5; } if (resultwatch > 0) { //4以下は”I”を追加していき0になるまで繰り返し while (true) { if (resultwatch == 0) { break; } resultromawatch.push("I"); resultwatch -= 1; } } } //配列を区切らずに出力 console.log(resultromawatch.join("")) });