jyamethyst21 님의 블로그

백준 1076번- '저항' (PYTHON 풀이) 본문

CODING 💻

백준 1076번- '저항' (PYTHON 풀이)

jyamethyst21 2026. 1. 7. 01:35

문제:

 

색을 세가지 입력받는데, 표에 나와있는 값을 활용하여 첫번째와 두번째로 입력한 색은 더하고 마지막 색은 곱해서 출력하면 된다.

 

풀이:

color = ['black', 'brown', 'red', 'orange', 'yellow', 'green', 'blue', 'violet', 'grey', 'white']
result = []

for i in range(3):
    user_input = input()
    if user_input in color:
        result.append(color.index(user_input))
zero_count = str(0) * result[2]
ppri = (f'{result[0]}{result[1]}{zero_count}')
print(int(ppri))

색을 리스트로 만들고 인덱스를 담을 result 리스트를 선언한다.

그 후 반복문을 돌면서 총 세번 색을 입력받고 color 리스트에 입력받은 값이 있으면 인덱스를 구해서 result에 추가한다. 인덱스를 활용해야겠다고 생각한 이유는 문제의 표를 보면 알다시피, 값이 0부터 1씩 순차적으로 증가하고 있고 이것이 인덱스와 같다고 생각했기 때문이다.

그 다음 첫번째, 두번째 입력은 그냥 붙이면 되지만 세번째 값은 0의 개수를 의미하므로 zero_count 변수에 0 * result[2] 즉, 입력받은 곱할 값과 0의 개수를 반복하였다. str로 변환한 이유는 정수값일 경우 몇을 곱하든 0일테니 str로 변환해서 0의 개수를 조절하였다.

그 다음 ppri 변수에 출력형식에 맞춰서 첫번째, 두번째 값은 더하고 0의 개수인 zero_count는 곱해서 출력하였다. 

여기까지만 하면 틀린다. 설마싶어서 정수로 바꿔서 다시 했더니 그제서야 정답이라고 떴다. 문제 출력이 숫자이기 때문에, 이 점 유의해서 출력해주면 된다.