이번에 이벤트반지로 쥬얼크래프트가 열린기념 ss링 만드는데 상자가 얼마나 들어가는지 참고용으로 봐주시면 좋을거 같아요.



상자깡시 각 쥬얼이 등장할 확률은 c급95% b급 4% a급 1%로 진행하였습니다.
시뮬레이션은 1만번, 백분위는 10%짤라서 표현했고 2만번중 가장 운이 없었던 케이스는 상위 100%에 넣어두었습니다.

##개수는 상자의 개수입니다. 상자 10코인이니까 들어가는 코인은 상자개수*10##

상위 0%컷(1만명중 제일 좋은 케이스)33개
상위 10%컷 68개
상위 20%컷 79개
상위 30%컷 89개
상위 40%컷 97개
상위 50%컷 106개
상위 60%컷 116개
상위 70%컷 127개
상위 80%컷 142개
상위 90%컷 166개
상위 100컷(1만명중 제일 안좋은 케이스)353개

보통의 경우라 생각하면 90~130개 사이에서 ss링이 완성되겠네요
ss링 만드실분은 참고하시면 좋을거같습니다!

위 과정은 파이썬3.8으로 진행하였고 소스코드는 아래에 적어두겠습니다.

import matplotlib.pyplot as plt
import random
NUMBER_OF_REPEAT = 10000

def open_jbox():
    percent = random.randrange(1,101)
    if percent <= 95:
        return 1
    elif percent > 95 and percent <= 99:
        return 2
    else:
        return 3

def manipulation(grade):
    percent = random.randrange(1,101)
    if grade == 1:
        success = 70
    if grade == 2:
        success = 50
    if grade == 3:
        success = 30
    if percent <= success:
        return grade+1
    if percent > success:
        return grade
    
def count_jel(jewel_list):
    for a in range(1,4):
        if jewel_list.count(a) >= 2:
            temp = manipulation(a)
            jewel_list.remove(a)
            jewel_list.remove(a)
            jewel_list.append(temp)

def statistics(x_list,num): #누적 통계를 상위 10%단위로 끊어주는코드
    x_list.sort()
    temp = 1
    x_average = []
    x_average.append(x_list[0])
    while temp<11:
        x_average.append(x_list[int((num/10)*temp)-1])
        temp = temp+1
    return x_average

            
result_list = []
num = 0

while num<NUMBER_OF_REPEAT:
    jewel_list = []
    num = num+1
    attempt = 0
    while True:
        attempt = attempt+1
        jewel_list.append(open_jbox())
        count_jel(jewel_list)
        if jewel_list.count(4) == 4:
            break
    result_list.append(attempt)

x_list = statistics(result_list,NUMBER_OF_REPEAT)
y_list = [0,10,20,30,40,50,60,70,80,90,100]
print(x_list)
        
plt.xlabel('Percentile')
plt.ylabel('box')

plt.plot(y_list, x_list, marker='o')

plt.show()