予算プランナー
CoddyのRジャーニー「ロジックとフロー」セクションの一部。レッスン 63/64。
チャレンジ
難しいbudget(lines)を完成させてください。最初の行はヘッダーmonth,type,amountで、それ以外の各行は2024-01,income,3000のような1件のエントリです。エントリは、typeがincomeまたはexpenseで、amountが0より大きい数値の場合に有効です。それ以外のエントリはすべてスキップしてください。
有効なエントリに含まれる月ごとに1行を、2024-01: income 3000.00, spent 1250.50, saved 1749.50の形式で順番に返してください。ここでsavedは収入から支出を引いた値です(収入または支出がない月は、その項目を0として扱います)。その後、最も多く貯蓄できた月(同率の場合は最初の月)をBest month: に続けて追加し、スキップしたエントリ数をSkipped: に続けて追加してください。
有効なエントリが1件もない場合は、No valid entriesとSkippedの行だけを返してください。
提供されたコードは、すべての入力行をbudget()に渡し、返された各行を出力します。
自分で試してみよう
budget <- function(lines) {
# ここにコードを書いてください
character(0)
}
# 提供された入出力コード:そのままにしておいてください
input <- suppressWarnings(readLines(file("stdin")))
cat(budget(input), sep = "\n")
ロジックとフローのすべてのレッスン
自分で練習してみよう: Rオンラインコンパイラ