[BOJ] 1076. 저항
https://www.acmicpc.net/problem/1076
문제
전자 제품에는 저항이 들어간다. 저항은 색 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이 된다.
입력
첫째 줄에 첫 번째 색, 둘째 줄에 두 번째 색, 셋째 줄에 세 번째 색이 주어진다. 위의 표에 있는 색만 입력으로 주어진다.
출력
입력으로 주어진 저항의 저항값을 계산하여 첫째 줄에 출력한다.
코드
👩💻 풀이과정
- 각 색의 값과 곱을 각각 add와 mul이라는 이름의 HashMap에 색을 key로 하여 저장
- 더할 두 색과, 곱할 한 색을 각각 입력받음
- 숫자를 더하는 것이 아니라 옆으로 이어붙어야 하기 때문에 우선은 String으로 받음
- 처음 두 값을 먼저 이어서
add_first
에 저장 - 곱할 값을 String으로 받아서 1을 제외한 값을
add_first
옆에 이어 붙임 - 전체 값을 long 타입의
answer
로 저장하여 출력
👀 주의할 점
long
타입의 존재를 잊고.. 계속 NumberFormat 에러가 났음- Java는 Dictionary 대신 HashMap!