본문 바로가기

CodingTest

[연습] 코딩테스트 (은행 데이터복구 문제)

def solution(snap, trans):
	compre_snap = {x[0] : int(x[1]) for x in snap}
	re_trans = list(set([tuple(x) for x in trans]))
	
	for x in re_trans: # "ID", "DO", "ACCOUNT", "money"
		if x[2] in compre_snap.keys():
			if x[1] == "SAVE":
				compre_snap[x[2]] += int(x[3])
			elif x[1] == "WITHDRAW":
				compre_snap[x[2]] -= int(x[3])
		else:
			compre_snap[x[2]] = int(x[3])
		
	print(compre_snap)
	
solution([["ACCOUNT1", "100"],  ["ACCOUNT2", "150"]], 
		[["1", "SAVE", "ACCOUNT2", "100"],
			["2", "WITHDRAW","ACCOUNT1", "50"],
			["1", "SAVE", "ACCOUNT2", "100"],
			["4", "SAVE", "ACCOUNT3", "500"],
			["3", "WITHDRAW", "ACCOUNT2", "30"],
		])
반응형