인프런 커뮤니티 질문&답변

run2070님의 프로필 이미지
run2070

작성한 질문수

파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)

9. 주사위 게임

질문있습니다!

작성

·

140

0

선생님 안녕하세요 우선 질문 전에 선생님 덕분에 알고리즘 풀이에 흥미를 조금씩 가질 수 있게된거 같아 감사인사드립니다!

이번 강의 듣기전에 개인적으로 먼저 풀어보았는데 제가 풀이한 방식에서 중복된 주사위 눈의 횟수를 구하는 부분에서 선생님이

풀이해주신 부분과 조금 다른 것 같아 질문 드립니다.

저는 구글링하다보니 파이썬 배열에 count라는 내장함수가 있어 주사위 한사이클당 반복된 눈의횟수 중 최대값과 눈의 값을 특정

변수에 담은 뒤에 상금계산식 분기처리를 했는데 선생님께서는 각 사이클을 sort한 뒤에 앞뒤값을 비교하는 방식으로 중복된 눈의

개수를 파악하는 방법으로 작성하셨는데 실제 코딩테스트를 해야하는 상황에서는 이런 내장함수를 쓰는건 최대한 지양해야될까요??

n = int(input())

result=[]

for i in range(n):
    arr = list(map(int, input().split()))

    count=0
    diceVal=0

    for j in arr:
        # for문을 수행하면서 한 사이클당 반복된 눈의 횟수를 count변수, 중복된 눈의 값을 diceVal에 할당
        if count<arr.count(j):
            count=arr.count(j)
            diceVal=j

    # 반복된 눈의 횟수에 따른 계산식에 대한 분기 처리
    if count==3:
        result.append(10000+(diceVal*1000))
    elif count==2:
        result.append(1000+(diceVal*100))
    else:
        result.append(max(arr)*100)

# 모든 결과값(상금값)중 최대값 출력
print(max(result)) 

답변 1

1

따로 제한이 없다면 쓰는게 편하죠 

run2070님의 프로필 이미지
run2070
질문자

앗 내장함수 사용에 제약이 있는곳이 있나보네요;; 답변 감사합니다!! 

run2070님의 프로필 이미지
run2070

작성한 질문수

질문하기