꾸준히 합시다

백준 파이썬 1076번: 저항 본문

코딩 테스트 문제 풀이

백준 파이썬 1076번: 저항

tturbo0824 2021. 3. 17. 01:23

www.acmicpc.net/problem/1076

 

1076번: 저항

첫째 줄에 첫 번째 색, 둘째 줄에 두 번째 색, 셋째 줄에 세 번째 색이 주어진다. 색은 모두 위의 표에 쓰여 있는 색만 주어진다.

www.acmicpc.net

문제 유형: 구현

 

# Solution 1

resistor = ["black", "brown", "red", "orange", "yellow", "green", "blue", "violet", "grey", "white"]

first = input()
second = input()
third = input()

value = str(resistor.index(first)) + str(resistor.index(second))

print(int(value) * (10**resistor.index(third)))
  1. 각 색깔의 값은 자신의 위치 값과도 같다. 그렇기에 첫 번째 저항과 두 번째 저항은 자신의 위치 값을 문자형으로 변환한 다음 그대로 더해주면 된다. yellow와 violet을 더하면 47이, black과 brown을 더하면 01이 된다.
  2. 각 색깔의 곱은 10을 자신의 위치 값만큼 거듭제곱한 값이 된다. 예를 들어 위치 값 2을 가진 저항 색 "red"의 경우, 그 곱은 10을 두 번 곱한 100이 된다.
  3. 이렇게 처음 두 저항의 값을 합친 value를 정수형으로 변환한 다음, 마지막 저항의 곱을 곱하면 답이 된다.
Comments