# Remote Control

![문제 설명](https://3269900549-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MIbwNq54Ge4eqsziHM7%2F-M_uL2fRDHsrGaJ2Pi66%2F-M_uL92O9L9mGzxxkfFS%2FScreen%20Shot%202021-05-17%20at%209.41.15%20PM.png?alt=media\&token=85ddff3c-a387-41ae-a5cf-7c6de8aec40b)

![입출력 예시](https://3269900549-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MIbwNq54Ge4eqsziHM7%2F-M_uKrOB0JWJne62P5UU%2F-M_uKz3vkczO_-lP0vMb%2FScreen%20Shot%202021-05-17%20at%209.40.34%20PM.png?alt=media\&token=9b37a196-2f7a-418c-a6bf-2d195216d2cc)

**알고리즘 생각**

1. 입력 : 아래 2가지 방법 중 한가지를 선택해서 입력받은 수를 처리한다.\
   \- String으로 채널번호 입력받고, char형 배열로 변환하여 한 자리씩 따져본다.\
   \- int형으로 받아서 10을 계속해서 나누어 끝에서 부터 한 숫자식 따져본다.
2. 고장난 숫자 버튼인지 확인 : boolean형의 배열에 고장난 숫자는 true로 셋팅하여 고장난 것임을 처리해준다.
3. 핵심 연산\
   1\. 먼저 누를 숫자를 정한다. - 0\<c<1000000\
   2\. c의 각 자리수마다 고장난 숫자가 있는지 판단한다. - possible 함수를 구현하여 고장난 숫자가 있으면 0을 리턴하고, 그렇지 않으면 누르는 횟수를 리턴한다.\
   3\. 채널 번호(n)과 누를 숫자(c)의 차 |n-c|만큼 +/- 연산하고 횟수를 센다.\
   4\. 2의 possible 리턴값과 3의 |n-c|를 더해서 정답으로 리턴한다.
