monthly_last_days = { 1 => 31, 2 => 28, 3 => 31, 4 => 30, 5 => 31, 6 => 30, 7 => 31, 8 => 31, 9 => 30, 10 => 31, 11 => 30, 12 => 31, } # うるう年判定 def check_leap_year(year) if year % 400 == 0 true elsif year % 4 == 0 && year % 100 == 0 false elsif year % 4 == 0 true else false end end # 入力受付 year, month, day = gets.split('/').map(&:to_i) # うるう年の場合は2月の最終日を変更 monthly_last_days[2] = 29 if check_leap_year(year) # メインロジック if (day + 2) > monthly_last_days[month] day = (day + 2) % monthly_last_days[month] month += 1 if month > 12 month = month % 12 year += 1 end else day += 2 end # 回答 puts "#{year}/#{month.to_s.rjust(2, '0')}/#{day.to_s.rjust(2, '0')}"