問題文
function solution(events)を書いてください。入出力はJSON値です。入力配列やオブジェクトを変更しないでください。外部ライブラリ・ネットワーク・非同期関数は使えません。 events:{id:string,account:string,delta:integer}[]. Accept only the first occurrence of each case-sensitive event ID, even if later account/delta differs. Return {accepted:boolean[],balances:[{account,balance}]}. Aggregate accepted deltas per account, include zero balances, and sort accounts using JavaScript string comparisons. All sums are safe integers. 入力範囲:各入力配列は最大50,000項目、文字列は最大1,000文字です。数値は有限値で、整数と整数の合算結果はJavaScriptの安全な整数範囲内です。その他の型と有効性は上記の規則に従います。
入出力例
例 1
関数の引数
[
[
{
"id": "x",
"account": "a",
"delta": 10
},
{
"id": "x",
"account": "a",
"delta": 99
}
]
]戻り値
{
"accepted": [
true,
false
],
"balances": [
{
"account": "a",
"balance": 10
}
]
}例 2
関数の引数
[
[
{
"id": "x",
"account": "b",
"delta": 2
},
{
"id": "y",
"account": "a",
"delta": -3
}
]
]戻り値
{
"accepted": [
true,
true
],
"balances": [
{
"account": "a",
"balance": -3
},
{
"account": "b",
"balance": 2
}
]
}例 3
関数の引数
[
[
{
"id": "a",
"account": "A",
"delta": 1
},
{
"id": "b",
"account": "a",
"delta": 1
}
]
]戻り値
{
"accepted": [
true,
true
],
"balances": [
{
"account": "A",
"balance": 1
},
{
"account": "a",
"balance": 1
}
]
}