강의로 돌아가기
강선규

13, 15, 18에서 틀리는 분들 참고하세요

위 부분에서 int(i * 0.7)을 (i // 10 * 7)으로 바꾸면 틀리던게 잘 맞습니당~

작성중인 코드―solution.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
def solution(users, emoticons):
    maplus = 0
    macost = 0
    n = [10] * len(emoticons)
    dic = {10:[], 20:[], 30:[], 40:[]}
    for i in emoticons:
        dic[10].append(int(i * 0.9))
        dic[20].append((i * 0.8))
        dic[30].append(int(i * 0.7))
        dic[40].append((i * 0.6))
    while n[0] <41:
        plus = 0
        cost = 0
        money = [0] * len(users)
        for i in range(len(users)):
            for j in range(len(emoticons)):
                if users[i][0] <= n[j]:
                    money[i] += dic[n[j]][j]
            if money[i] >= users[i][1]:
                plus += 1
            else:
                cost += money[i]
        if plus > maplus:
            maplus = plus
            macost = cost
        elif plus == maplus:
            macost = cost if macost < cost else macost
        n[-1] += 10
        for i in range(len(emoticons) - 1, 0, -1):
            if n[i] > 40:
                n[i - 1] += 10
                n[i] -= 40
    answer = [maplus, macost]
    return answer
4 개의 답변
appp

감사합니다 부동소수점 오차를 간과했네요

EN

감사합니다. 저도 자바인데 (int) 지우니까 되네요.

leedongho9798@gmail.com

감사합니다

유호영

감사합니다~!

답변 쓰기
이 입력폼은 마크다운 문법을 지원합니다. 마크다운 가이드 를 참고하세요.