提出 #2634414


ソースコード 拡げる

N = gets.to_i

def head(n)  # 最高位の数を求める
  return n.to_s[0].to_i
end

def size(n)  # 桁数を求める
  return n.to_s.length
end

def sum(n)  # 各桁の数の総和を求める
  return n.to_s.split("").inject(0){ |acc, item| acc + item.to_i }
end

# 最高位の数を 1 減らし、下位の数をすべて 9 にした数
d = ((head(N) - 1).to_s + "9" * (size(N) - 1)).to_i

# 大きい方が答え
puts [sum(N), sum(d)].max

提出情報

提出日時
問題 A - Digit Sum 2
ユーザ nobita0918
言語 Ruby (2.3.3)
得点 300
コード長 464 Byte
結果 AC
実行時間 7 ms
メモリ 1788 KiB

ジャッジ結果

セット名 Sample All
得点 / 配点 0 / 0 300 / 300
結果
AC × 3
AC × 15
セット名 テストケース
Sample s1.txt, s2.txt, s3.txt
All 01.txt, 02.txt, 03.txt, 04.txt, 05.txt, 06.txt, 07.txt, 08.txt, 09.txt, 10.txt, 11.txt, 12.txt, s1.txt, s2.txt, s3.txt
ケース名 結果 実行時間 メモリ
01.txt AC 7 ms 1788 KiB
02.txt AC 7 ms 1788 KiB
03.txt AC 7 ms 1788 KiB
04.txt AC 7 ms 1788 KiB
05.txt AC 7 ms 1788 KiB
06.txt AC 7 ms 1788 KiB
07.txt AC 7 ms 1788 KiB
08.txt AC 7 ms 1788 KiB
09.txt AC 7 ms 1788 KiB
10.txt AC 7 ms 1788 KiB
11.txt AC 7 ms 1788 KiB
12.txt AC 7 ms 1788 KiB
s1.txt AC 7 ms 1788 KiB
s2.txt AC 7 ms 1788 KiB
s3.txt AC 7 ms 1788 KiB