알고리즘 연습/구현, 문자열
[🥉2 / 백준 1076 / 파이썬] 저항
김세진
2021. 12. 31. 16:22
반응형
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이 된다.
입력
첫째 줄에 첫 번째 색, 둘째 줄에 두 번째 색, 셋째 줄에 세 번째 색이 주어진다. 위의 표에 있는 색만 입력으로 주어진다.
출력
입력으로 주어진 저항의 저항값을 계산하여 첫째 줄에 출력한다.
예제 입력 1yellow
violet red |
예제 출력 14700
|
예제 입력 2orange
red blue |
예제 출력 232000000
|
예제 입력 3white
white white |
예제 출력 399000000000
|
풀이
if else, dict, list 등 다양한 방식으로 풀이가 가능하다.
본인은 dict로 하려다가 가장 손이 덜 갈 것 같았던 list로 풀이했다.
import sys
input = sys.stdin.readline
# 현재 색깔이 arr의 몇 번째 위치에 놓여있는지 반환해주는 함수
def search(s):
for i in range(10):
if arr[i] == s:
return str(i)
arr = ["black","brown","red","orange","yellow","green","blue","violet","grey","white"]
ans = ""
for _ in range(2):
ans += search(input().rstrip())
print(int(ans) * 10**int(search(input().rstrip())))
반응형