반응형
문제
전자 제품에는 저항이 들어간다. 저항은 색 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())))
반응형
'알고리즘 연습 > 구현, 문자열' 카테고리의 다른 글
[🥉3 / 백준 15953 / 파이썬] 상금 헌터 (0) | 2022.01.06 |
---|---|
[🥈4 / 백준 2331 / 파이썬] 반복수열 (0) | 2022.01.01 |
[🥇4 / 백준 14499 / 파이썬] 주사위 굴리기 (0) | 2021.12.29 |
[🥈4 / 백준 1543 / 파이썬] 문서 검색 (0) | 2021.12.26 |
[🥉2 / 백준 10995 / 파이썬] 별 찍기 - 20 (0) | 2021.12.22 |