Baekjoon Algorithm/python
[Python]BAEKJOON 1076번 저항
SeolLab.
2022. 12. 30. 00:35
728x90
https://www.acmicpc.net/problem/1076
1076번: 저항
전자 제품에는 저항이 들어간다. 저항은 색 3개를 이용해서 그 저항이 몇 옴인지 나타낸다. 처음 색 2개는 저항의 값이고, 마지막 색은 곱해야 하는 값이다. 저항의 값은 다음 표를 이용해서 구한
www.acmicpc.net
문제
전자 제품에는 저항이 들어간다. 저항은 색 3개를 이용해서 그 저항이 몇 옴인지 나타낸다. 처음 색 2개는 저항의 값이고, 마지막 색은 곱해야 하는 값이다. 저항의 값은 다음 표를 이용해서 구한다.
색값곱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 |
예를 들어, 저항의 색이 yellow, violet, red였다면 저항의 값은 4,700이 된다.
입력
첫째 줄에 첫 번째 색, 둘째 줄에 두 번째 색, 셋째 줄에 세 번째 색이 주어진다. 위의 표에 있는 색만 입력으로 주어진다.
출력
입력으로 주어진 저항의 저항값을 계산하여 첫째 줄에 출력한다.
예제 입력 1
yellow
violet
red
예제 출력 1
4700
예제 입력 2
orange
red
blue
예제 출력 2
32000000
예제 입력 3
white
white
white
예제 출력 3
99000000000
sol1)
lst = [0,0,0]
color = ['black','brown','red','orange','yellow','green','blue','violet','grey','white']
for i in range(3):
lst[i] = color.index(input())
print((int(str(lst[0])+str(lst[1])))*(10**(lst[-1])))
sol1) 변형
lst = []
color = ['black','brown','red','orange','yellow','green','blue','violet','grey','white']
for i in range(3):
lst.append(color.index(input()))
print((int(str(lst[0])+str(lst[1])))*(10**(lst[-1])))
하지만 둘다 너무 복잡하다. lst로 넣었기 때문. 차라리 lst를 만들지 말고 a,b,c변수 설정로 설정하고 값을 받으면 훨씬 간단해질 것.
sol2)
color = ['black','brown','red','orange','yellow','green','blue','violet','grey','white']
a = color.index(input())
b = color.index(input())
c = color.index(input())
print((int(str(a)+str(b)))*(10**(c)))
주의:
1. lst =[]형식으로 lst를 비워놓을 경우, lst.append(color.index(input()))으로 사용.
2. lst=[0,0,0]형식으로 lst를 채워놓을 경우, lst[i] = color.index(input()) 사용.