Skip to content

Latest commit

 

History

History

1107

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 

문제풀이

채널 N으로 이동하기 위해 고장난 버튼을 제외하고 몇번 눌러야하는지 구하는 완전 탐색 문제

입력

  • n : 이동하려는 채널
  • m : 고장난 버튼의 개수
  • arr : 고장난 버튼

로직

  1. 100이면 초기값이므로 0을 리턴한다
  2. +/- 키로 이동할 때 걸리는 횟수를 구한다.
  3. 1 ~ (500000 x 2) 까지 순회한다
    1. 리모컨으로 이동이 가능한 채널이면 이동 후 +/- 로 이동한다.
    2. 리모컨으로 이동이 불가능 하면 계산하지 않는다.
    3. 최저 이동 숫자로 갱신한다.
  4. 갱신된 답을 반환한다.

바로 이동가능한지 체크 하는 로직

0보다 크면 10의 나머지 연산으로 버튼의 숫자를 구해서 고장인지 확인한다.

1회차

  • 1200 % 10 = 0
  • 1200 / 10 = 120

2회차

  • 120 % 10 = 0
  • 120 / 10 = 12

3회차

  • 12 % 10 = 2
  • 12 / 10 = Math.floor(1.2) = 1

4회차

  • 1 % 10 = 1
  • 1 / 10 = Math.florr(0.1) = 0

각 회차마다 고장이면 지금까지 누른 숫자부터 +/-로 이동하고 고장이 아니면 한번에 바로 이동할 수 있다.

맞왜틀

리팩토링