728x90
반응형
문제:
전자 제품에는 저항이 들어간다. 저항은 색 3개를 이용해서 그 저항이 몇 옴인지 나타낸다.
처음 색 2개는 저항의 값이고, 마지막 색은 곱해야 하는 값이다.
저항의 값은 다음 표를 이용해서 구한다.
색 |
값 |
곱 |
black |
0 |
1 |
brown |
1 |
10 |
red |
2 |
100 |
orange |
3 |
1000 |
yellow |
4 |
10000 |
green |
5 |
100000 |
blue |
6 |
1000000 |
violet |
7 |
10000000 |
grey |
8 |
100000000 |
white 9 1000000000
예를 들어, 저항에 색이 yellow, violet, red였다면 저항의 값은 4,700이 된다.
입력:
첫째 줄에 첫 번째 색, 둘째 줄에 두 번째 색, 셋째 줄에 세 번째 색이 주어진다. 색은 모두 위의 표에 쓰여 있는 색만 주어진다.
출력:
입력으로 주어진 저항의 저항값을 계산하여 첫째 줄에 출력한다.
풀이 방법:
항상 세 개의 명령을 받기 때문에 하나의 명령어 함수를 만들고 마지막 명령어일때에만 따로 구분을 두어서 곱하도록 만든다.
따라서 register라는 전역변수를 만든 후에 첫 번째, 두 번째 명령어일 때 이 값에 더해준다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 | first=input() second=input() third=input() register='' def regis(first,last=True): global register if last==True: if first=="black": register+='0' elif first=="brown": register+='1' elif first=="red": register+='2' elif first=="orange": register+='3' elif first=="yellow": register+='4' elif first=="green": register+='5' elif first=="blue": register+='6' elif first=="violet": register+='7' elif first=="grey": register+='8' elif first=="white": register+='9' else: register=int(register) if first=="black": register*=1 elif first=="brown": register*=10 elif first=="red": register*=100 elif first=="orange": register*=1000 elif first=="yellow": register*=10000 elif first=="green": register*=100000 elif first=="blue": register*=1000000 elif first=="violet": register*=10000000 elif first=="grey": register*=100000000 elif first=="white": register*=1000000000 print(register) regis(first) regis(second) regis(third,False) | cs |
728x90
반응형
'Algorithm > Python' 카테고리의 다른 글
[Programmers]Lv 3.디스크 컨트롤러 (2) | 2019.05.06 |
---|---|
[BOJ]8979. 올림픽 (0) | 2019.05.05 |
[BOJ]1977. 완전제곱수 (0) | 2019.05.03 |
[BOJ]1037. 약수 (0) | 2019.05.02 |
[BOJ]2156. 포도주 시식 (0) | 2019.05.01 |