๐Ÿ“š Study/Baekjoon

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค Lv1 | ์™„์ „ํƒ์ƒ‰ | ๋ชจ์˜๊ณ ์‚ฌ

์œฐ๊ฐฑ 2026. 3. 31. 22:06

์‹œ๋„2.. ๋ฐ˜๋ณต๋˜๋Š” ์ฝ”๋“œ๋Š” ๋” ์งง๊ณ  ๊ฐ„๋‹จํ•˜๊ฒŒ ์งค ์ˆ˜ ์žˆ์—ˆ๋‹ค

def cal_score(answers,player):
    score = 0
    for i in range(len(answers)):
        if answers[i] == player[i%len(player)]:
            score += 1
            
    return score

def solution(answers):
    player1 = [1,2,3,4,5]
    player2 = [2, 1, 2, 3, 2, 4, 2, 5]
    player3 = [3, 3, 1, 1, 2, 2, 4, 4, 5, 5]
    
    score = []
    winner = []
    
    score.append(cal_score(answers,player1))
    score.append(cal_score(answers,player2))
    score.append(cal_score(answers,player3))
    
    for i, s in enumerate(score):
        if s == max(score):
            winner.append(i+1)
        
    return winner

 

 

 


 

์‹œ๋„ 1.. ๋” ๊น”๋”ํ•˜๊ฒŒ ํ’€ ์ˆ˜ ์žˆ์—ˆ์„ ๊ฒƒ ๊ฐ™์€๋ฐ ์ข€ ์ง€์ €๋ถ„,,

์•„์ด๋””์–ด ์ž์ฒด๋Š” ๋งž์•˜๋Š”๋ฐ ์ข€ ์•„์‰ฌ์šด ํ’€์ด

# player 1 ์ ์ˆ˜ ๊ณ„์‚ฐ
# 1 2 3 4 5 / 1 2 3 4 5 / 1 2 3 4 5 ... (5๊ฐœ์”ฉ ๋ฐ˜๋ณต)
def cal_1(answers,len_answer):
    player = [1,2,3,4,5]
    
    score = 0
    for i in range(len_answer):
        if answers[i] == player[i%5]:
            score += 1
            
    return score

# player 2 ์ ์ˆ˜ ๊ณ„์‚ฐ
# 2 1 2 3 2 4 2 5 / 2 1 2 3 2 4 2 5/ 2 1 2 3 2 4 2 5 / ... (8๊ฐœ์”ฉ ๋ฐ˜๋ณต)
def cal_2(answers,len_answer):
    player = [2, 1, 2, 3, 2, 4, 2, 5]
    
    score = 0
    for i in range(len_answer):
        if answers[i] == player[i%8]:
            score += 1
            
    return score

# player 3 ์ ์ˆ˜ ๊ณ„์‚ฐ
# 3 3 1 1 2 2 4 4 5 5 / 3 3 1 1 2 2 4 4 5 5 / ... (10๊ฐœ์”ฉ ๋ฐ˜๋ณต)
def cal_3(answers,len_answer):
    player = [3, 3, 1, 1, 2, 2, 4, 4, 5, 5]
    
    score = 0
    for i in range(len_answer):
        if answers[i] == player[i%10]:
            score += 1
            
    return score

def solution(answers):
    
    score = []
    
    len_answer = len(answers)
    score.append(cal_1(answers,len_answer))
    score.append(cal_2(answers,len_answer))
    score.append(cal_3(answers,len_answer))
    
    max_score = max(score)
    
    winner = []
    for i in range(3):
        if score[i] == max_score: winner.append(i+1)
        
    return winner