Problem Statement
You are working for the financial institution TopBank, and you have been tasked with writing a module that will take an initial account balance, along with a list of that day's transactions, and return the ending balance for the day.
Each transaction will be either a credit, which adds funds to the account, or a debit, which removes funds from the account. If a debit exceeds the available funds at the time, then the account balance will go negative. You will be given an
Definition
- Class:
- AccountBalance
- Method:
- processTransactions
- Parameters:
- int, String[]
- Returns:
- int
- Method signature:
- int processTransactions(int startingBalance, String[] transactions)
- (be sure your method is public)
Constraints
- startingBalance will be between 0 and 1000000, inclusive.
- transactions will have between 0 and 50 elements, inclusive.
- Each element of transactions will be formatted as "type amount" (quotes added for clarity).
- Each type will be 'C' or 'D'.
- Each amount will represent an integer between 1 and 1000000, inclusive, with no leading zeros.
Examples
100
{"C 1000", "D 500", "D 350"}
Returns: 250
This person had 100 dollars, got their paycheck, then went shopping at two different stores. 100 + 1000 - 500 - 350 = 250.
100
{}
Returns: 100
With no transactions, the balance doesn't change by the end of the day.
100
{"D 50", "D 20", "D 40"}
Returns: -10
Uh oh! This person's account is overdrawn.
53874
{"D 1234", "C 987", "D 2345", "C 654", "D 6789", "D 34567"}
Returns: 10580
Several transactions of both types.
1000000
{"C 1000000", "C 1000000", "C 1000000", "C 1000000", "C 1000000", "C 1000000", "C 1000000", "C 1000000", "C 1000000", "C 1000000", "C 1000000", "C 1000000", "C 1000000", "C 1000000", "C 1000000", "C 1000000", "C 1000000", "C 1000000", "C 1000000", "C 1000000", "C 1000000", "C 1000000", "C 1000000", "C 1000000", "C 1000000", "C 1000000", "C 1000000", "C 1000000", "C 1000000", "C 1000000", "C 1000000", "C 1000000", "C 1000000", "C 1000000", "C 1000000", "C 1000000", "C 1000000", "C 1000000", "C 1000000", "C 1000000", "C 1000000", "C 1000000", "C 1000000", "C 1000000", "C 1000000", "C 1000000", "C 1000000", "C 1000000", "C 1000000", "C 1000000"}
Returns: 51000000
81479
{"C 623807","C 689185","C 146970","D 591500","D 12438","D 82366","C 745173","C 511453","C 117209","C 452064","C 913275","D 591761","C 946421","D 872986","D 323642","D 883692","C 961501","D 497964","D 351760","D 766643","D 576999","C 57954","D 576244","D 448131","D 660591","C 362039","D 278832","D 463803","D 33078","D 797427","C 944387"}
Returns: -1256940
44267
{"C 968385","D 829448","D 760896","D 280896","D 693563","D 501560","C 119474","C 294233","C 888789"}
Returns: -751215
376344
{"D 114359","D 65581","C 187362","D 830510","D 42914","C 271208","C 675708","D 964887","D 905628","C 915511","C 393379","D 694433","C 906113","C 831009","C 833050","C 453230","C 951108","C 178345","D 440522","D 253485","C 150476","D 946290","C 114721","C 185531","D 317205","C 451738","D 707697","C 917823","D 467409","C 839708","C 524626","D 196945","C 320326","D 583346","C 823809","C 347603","D 798320","C 983920","C 316673","D 772630","D 526878","C 670825","D 667766","D 452981","D 334614","D 101581","D 994767"}
Returns: 1439398
798645
{"C 753266","D 61833","D 368474","D 394114","C 517697","D 165349","C 312814","C 7434","C 65897","D 354024","C 304838","D 581157","C 38977","D 397878","C 274721","D 486866","D 781176","C 395056","C 105765","C 674267","D 839858","C 271826"}
Returns: 90474
831112
{"C 171193","C 465511","C 282584","C 650162","D 583600","C 111748"}
Returns: 1928710
404488
{"D 395741","D 595571","C 935307","D 364266","D 66933","D 469313","C 296052","C 84603","C 812665","C 545157","D 256971","C 237756","D 734987","D 741561","C 84177","D 218744","D 389075","C 55107","C 746909","C 750712","D 283229","C 60502","C 417529","D 384928","C 378875","D 410577"}
Returns: 497943
358465
{"D 789","C 590565","D 336290","C 487515","C 305813","D 285973","C 146723","C 747231","C 335644","C 785901","D 729083","D 735539","D 954053","C 864274","D 48701","C 140428","C 352933","D 248144","C 649036","C 853010","C 552305","D 117686","D 151668","D 467524","D 900313","D 606200","D 756306","C 781333","C 573226","D 300113","C 740781","C 294925","D 75439","D 738975","D 961049","C 711914","C 739471","D 915463","D 351194","C 439038","D 225968","C 775376","D 423422","D 86160","C 23698","D 717641","D 768065","D 966268","C 949556"}
Returns: 331135
737866
{"C 553581","C 595476","C 648561","C 710554"}
Returns: 3246038
461828
{"D 193022"}
Returns: 268806
768574
{"D 324679","D 11681","C 181270","C 86718"}
Returns: 700202
773156
{"D 411805","D 685707","D 756534","C 345394","D 707879","C 34946","D 60825"}
Returns: -1469254
914312
{"C 458986","D 260727","C 285237","C 285359","C 802332","C 597913","D 543538","D 622766","D 953250","C 984491","D 277623","D 523481","C 705196","C 561575","D 757513","D 417681","D 929752","C 173403","C 581350","D 688666","C 76626","D 867339","D 175406","C 172862","D 673650","C 393871","D 294074"}
Returns: -991953
960170
{"D 826780","C 706612","D 519874","C 392216","C 720098","D 462300","D 763451","D 565850","C 115813","C 520799","D 763573","D 829648","D 854255","C 445097","D 587136","D 785662","D 353881","D 1307","C 129160","D 489065","C 111275","D 658667","C 612787","C 948161","C 201142","C 89541","C 89289","D 624374","D 776315","D 669418","D 938060","C 932255","D 567750"}
Returns: -5062951
371807
{"C 366619","C 739479","D 384531","C 293755","D 910610","C 866849","D 613863","C 104817","D 933804","D 588289","C 721080","D 598085","D 128095","C 130850","D 749637","C 164671","D 13502","D 174708","C 821117","D 898814","C 438170","C 353164","C 635228","D 97877","D 78368","D 752643","D 969800","C 762348","C 938491","C 412697","D 180791","C 95841","D 851059","C 826000","D 702284","C 5093","D 976715","C 438355","D 546484","D 599969","C 304230","C 148687","C 803725","C 693456","C 150499","D 809046","C 142463","D 301668","D 660539"}
Returns: -1791690
316341
{"D 309280","C 143843","C 307497","C 153674","D 628884","D 142345","D 392642","D 807670","D 504105","C 922660","D 545367","D 351147","D 915903","D 313404","C 223194","C 901779","D 923357","C 846314","C 211765","C 530370","D 163676","C 256253","C 124852","D 760843","C 352191","D 981210","D 904348","D 70249","D 782360","C 662298","D 320272","D 388766","C 825764","C 643755","D 470770","C 599692"}
Returns: -2654356
310528
{"D 472945","C 282111","C 39455","C 629231","C 400356","C 8689","C 997604","D 23084","D 879601","C 733024","C 216816","C 297750","D 67418","D 865761","C 392892","C 715437","D 323670","D 645669","D 674756","C 616477","D 711347","D 639642"}
Returns: 336477
191045
{"D 919326","C 496561","C 242700","D 417181","C 620567","D 648551","C 177988","C 941218"}
Returns: 685021
821106
{"C 339679","D 996775","C 697997","C 595178","D 445434","C 578456","C 602070","D 752336","D 44430","C 630550","D 21111","C 75464","C 918404","D 188702","D 275922"}
Returns: 2534194
959574
{"C 52220","C 116681","D 140428","C 846583","C 133867","C 606382","C 341680","C 803363","C 54457","D 677824","C 59855","C 943691","C 408228","D 679152","C 428252","C 467274","D 992545","C 786635","C 33298","C 651944","C 307895","D 504668","C 414543"}
Returns: 5421805
601327
{"D 57892","C 165771","D 564663","C 506498","C 649273","D 430588","D 429459","C 622672","D 691903","C 787888","D 407857","C 292510","D 498769","C 54567","D 851908","C 684471","C 585985","C 875642"}
Returns: 1893565
186656
{"D 45135","C 172789","C 224260","C 310794","C 199212","C 681544","D 901690","D 295356","D 49531","C 237739","D 37326","D 685024","C 77051","D 169987","C 588688","D 97473","D 840853","C 510026","C 841419","D 103505","C 478144","D 492719","D 909291","D 727044","D 204257","D 56055","C 234197","D 945143"}
Returns: -1817870
562263
{"C 341147","D 86157","D 187975","D 174900","D 192233","D 63315","C 838843","C 740719","C 656676","C 591941","D 734172","D 37938","D 484966","C 426429","C 663513","D 172513","D 630714","D 149299","D 869541","C 328527","C 750660","D 671196","C 548058","D 268187","D 704667","D 730889","D 347989","D 831824","C 55723","D 395272","C 871385","D 437896","C 569941","C 559366","C 173422","D 582985","D 716559","D 446314","D 262400","C 341797","C 167941"}
Returns: -991550
387275
{"D 599746","C 867165","D 299575","D 921977","C 600010"}
Returns: 33152
400395
{"C 690075","D 97606","C 130867","D 219522","C 621178","C 169918","D 13120","C 242800","D 577748","C 502682","C 520692","D 425212","C 747774","C 787793","D 880636","D 810214","D 522368","D 545271","C 773127","D 519390","C 995768","D 623259","D 831466","C 252446","C 465339","C 698027","D 142078","D 787213","C 931568","D 773971","D 744514","C 479650","D 598068","D 683609","D 131451","C 763838","C 371579","C 587586","C 748689","C 651984","C 361962","D 474671","D 495153","D 234420","D 382207"}
Returns: 1382570
223480
{"C 222894","C 179603","C 448427","D 293871","D 237089","C 234116","C 279860","D 844149","C 796038","D 722664","D 798869","D 613864","C 611167","C 48081","C 630943","D 232410","D 347027","C 191324","D 604694","C 157306","D 121292","C 211473","D 251862","C 174198","D 4765","C 745737","C 307309","D 896855","C 521371","C 509448","D 209024","D 267171","D 148161"}
Returns: -100992
93833
{"D 598120","D 55166","D 815310","C 977161","C 818835","D 358984","C 406119","D 2453","D 418532","C 104895","D 257015","D 899770","C 647701","D 547294","D 657547","C 275068","C 959953","D 768699","C 350392","C 812429","D 512028","C 179756","D 31350","C 774062","C 663789","C 19234","D 849347","D 500297","D 478223","C 854028","C 906435","D 909591","D 221445","D 79157","C 757788","D 998527","C 862692","C 417765","D 911708","D 341813"}
Returns: -330441
111144
{"C 421122","C 329620","D 592278","C 231842","D 968623","C 926075","C 980882","C 913845","D 767788","D 68749","C 816706","C 402077","D 854260","D 78442","C 986956","D 681401","C 91809","C 729081","D 456965","D 439806","D 672330","D 747717","C 770191","D 568403","D 615843","D 314524","D 548214","D 661433","D 270491"}
Returns: -1595917
178381
{"C 990742","C 516257","D 812545","C 78983","D 375607","C 633365","C 746398","D 402611","C 558767","D 716370","D 404571","C 526364","C 474302","C 172009","D 447708","D 396043","C 634421","C 610147","C 364579","D 410573","C 629455","C 343771","D 972078","C 922006","C 627860","D 888994","C 915224","D 735518"}
Returns: 3360413
949438
{"C 465056","C 167162","C 609408","D 199242","D 494319","D 529162","C 755103","D 499757","D 102272","C 130618","C 337154","C 258722","D 617527","D 929050","D 973236","D 35219","C 71824","C 210102","C 234151","D 966456","D 700025","D 87544","C 143823","D 267764","C 440118","D 3270","C 679304","C 732601","C 433218","C 227300","D 270769","D 232548","C 523562","D 357779","C 301520","C 217312","C 758513","D 820975","C 607982","C 214726","D 888561","D 371284","C 979706","C 330747"}
Returns: 1432411
78911
{"D 591224","C 659367","D 749456","D 351521","D 391442","D 842767","C 233061","C 201036","C 510705","D 178830","C 621894","C 978849","D 15908","D 269609","D 334411","D 451075","D 802072","D 170279","D 867195","C 86951","D 92341","D 889140","D 294953","C 558841","C 937983","C 887618","D 770516","D 242233","D 718394","C 580265","C 24843","D 715740","D 641094","C 834755","D 867014","D 261101","C 241726","C 471890","C 684237","C 363179","D 884061","C 765596","C 941844","C 209962"}
Returns: -1518863