Post

[BOJ] 1076. 저항

[BOJ] 1076. 저항

https://www.acmicpc.net/problem/1076


문제

전자 제품에는 저항이 들어간다. 저항은 색 3개를 이용해서 그 저항이 몇 옴인지 나타낸다. 처음 색 2개는 저항의 값이고, 마지막 색은 곱해야 하는 값이다. 저항의 값은 다음 표를 이용해서 구한다.


black01
brown110
red2100
orange31,000
yellow410,000
green5100,000
blue61,000,000
violet710,000,000
grey8100,000,000
white91,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!
This post is licensed under CC BY 4.0 by the author.