Search

함수3_문제01_포인트

대분류
STEP10 함수
소분류
함수3_문제

영상

문제

""" [문제] 아래 userData는 회원번호와이름이고 , pointData는 포인트와 회원번호이다. 포인트는 여러번쌓을수있고, 전부 누적해서 합을 구한다. 포인터 점수가 가장높은 회원의 이름과 번호를 리스트로반환하는 함수를 만드시오. 단, 직접만든 스플릿함수를 사용하시오. [정답] 이만수 1002 """ userData = "1001/김철수," userData += "1002/이만수," userData += "1003/이영희" pointData = "1/1001," pointData += "1/1002," pointData += "2/1003," pointData += "1/1001," pointData += "2/1002"
Python
복사

해설

""" [문제] 아래 userData는 회원번호와이름이고 , pointData는 포인트와 회원번호이다. 포인트는 여러번쌓을수있고, 전부 누적해서 합을 구한다. 포인터 점수가 가장높은 회원의 이름과 번호를 리스트로반환하는 함수를 만드시오. 단, 직접만든 스플릿함수를 사용하시오. [정답] 이만수 1002 """ def mySplit(str, d): arr = [] temp = "" for i in range(len(str)): if str[i] == d : arr.append(temp) temp = "" else: temp += str[i] arr.append(temp) return arr def getMax(userList , pointList): maxPoint = 0 for i in range(len(userList)): user = userList[i] total = 0 for j in range(len(pointList)): point = pointList[j] if user[0] == point[1]: total += int(point[0]) if total > maxPoint: maxPoint = total return user def maxPoint(userData , pointData): userList = [] token1 = mySplit(userData , ",") for i in range(len(token1)): token2 = mySplit(token1[i] , "/") userList.append(token2) pointList = [] token1 = mySplit(pointData , ",") for i in range(len(token1)): token2 = mySplit(token1[i] , "/") pointList.append(token2) maxUser = getMax(userList, pointList) print(maxUser) userData = "1001/김철수," userData += "1002/이만수," userData += "1003/이영희" pointData = "1/1001," pointData += "1/1002," pointData += "2/1003," pointData += "1/1001," pointData += "2/1002" #print(userData) #print(pointData) maxPoint(userData , pointData)
Python
복사