본문 바로가기
Programming Languages/Python

[파이썬 코딩 테스트] 주사위 만들기

by Henry Cho 2026. 2. 13.

포스트 난이도: HOO_Junior


# from random import randint

주사위 문제는 랜덤 함수를 제대로 사용할 수 있는지를 평가하고 이에 대한 정의를 제대로 할 수 있는 보려는 기초 문제 중 하나이다. 그래서 6개의 숫자이든 20면체이든 상관없이 랜덤 함수만 잘 정의하고 사용할 수 있다면 쉽게 문제를 풀 수 있다.


from random import randint

class Dice:
    def __init__(self, sides=6):
        self.sides = sides

    def roll(self):
        return randint(1, self.sides)

my_dice = Dice()

result = my_dice.roll()
print(f" Dice sides:{my_dice.sides} Result:{result}")

d20 = Dice(20)
print( {d20.roll()})

위의 예제코드를 보면, from random import randint로 랜덤 함수가 정의된 것을 확인할 수 있다. 이 부분이 주어졌다면 랜덤함수 사용하라고 알려주는 셈이니, 랜덤 함수를 정의해 주면 된다. Class Dice로 먼저 주사위라는 클래스를 정의해 준 다음에 두 가지 def로 나눠서 선언해 주면 된다. 첫 번째로 사용할 객체 __init__ 정의를 해주고 그리고 def roll, 즉 주사위를 굴렸을 때 랜덤하게 나올 수 있는 기능 또는 속성을 선언해 주면 된다. randint에 괄호를 사용하는 건 랜덤 하게 나올 숫자의 시작과 끝에 대한 범위를 지정해 주기 위해서이다. 1 대신해서 객체에서 시작값 또는 초기값을 지정해 줘도 상관없다.

 

추가적으로 f string를 잘 사용한다면 출력하는데 있어서 훨씬 편하다. 문자열과 값을 같이 사용해야 하는 경우 f string을 사용해서 출력을 해줄 수 있다. 마지막으로 d20 = Dice(20)은 class Dice가 이미 선언되어 있기 때문에 해당 클래스를 사용해서 다른 주사위로 출력이 가능하다.


 

728x90

댓글