본문 바로가기

알고리즘/python

[python/파이썬] 백준 1076 저항

반응형

[문제 출처]

https://www.acmicpc.net/problem/1076

 

1076번: 저항

첫째 줄에 첫 번째 색, 둘째 줄에 두 번째 색, 셋째 줄에 세 번째 색이 주어진다. 위의 표에 있는 색만 입력으로 주어진다.

www.acmicpc.net

 

[문제 풀이]

저항의 값은 아래 표를 이용해서 구하는데

3개의 색깔로 표시된다.

첫 번째, 두 번째 색깔에 해당하는 값에 세 번째 색깔에 해당하는 곱을 해준다.

black 0 1
brown 1 10
red 2 100
orange 3 1,000
yellow 4 10,000
green 5 100,000
blue 6 1,000,000
violet 7 10,000,000
grey 8 100,000,000
white 9 1,000,000,000

예를 들어 yello, violet, red라면

y > 4

v > 7

red >> 100

 

47 * 100 = 4700이 된다.

 

 

색깔을 리스트에 저장하면, 값은 각 색깔의 인덱스값과 동일하며, 곱의 값은 인덱스 값만큼 10을 제곱해 준 값이다.

따라서 색깔 3개를 입력을 받아준 다음에, 그 색에 해당하는 인덱스 값을 이용해서 저항 값을 계산하면 된다.

#1076

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

r = []
for _ in range(3):
  r.append(input())

result = int(str(color.index(r[0])) + str(color.index(r[1]))) * (10**color.index(r[2]))
print(result)
반응형