1107. 리모콘

phoenixKim·2024년 11월 3일
0

백준 알고리즘

목록 보기
151/174

풀이전략

-> 최악의 상황을 먼저 만들고 생각하자.

1번.

: 주어진 n 에 대해서 100을 감산한 크기를 얻고
숫자 버튼을 누르거나, '+' , '- ' 버튼을 눌러서 n을 만드는
방법 중에서 버튼을 누르는 최소값을 구하라!

는 문제 이다.
-> 문제에서 숫자 버튼이 삭제 될수 있다고 하고,
n의 범위는 0 ~ 50만이다.

  • 어떻게 풀어야 할까?
    : 고장난 숫자 버튼은 0~9 까지 전부다 일 수 있다.
    즉 최악의 경우를 생각하고 접근해야 한다.
    --> 완전탐색으로 접근하자.

  • '+' 버튼과 '-' 버튼만 눌러서 100 에서 n까지 갈수 있다 라는 생각을
    염두하고 코드를 작성해야 한다.

  • 그렇다면 가장 큰 n의 값은 50만이고, 이거를 기준으로 해서 진행해야 한다.

  • '+' 와 '-' 를 누를 숫자를 구해보자.
    0에서 50만으로 최소이니까. 오직 '+' 버튼을 누르거나, 아니면 오직 '-' 버튼을 누르는 경우가 있다.

  • 모든 경우의 수를 생각하고 진행해보자.
    '+' 버튼을 누른다고 한다면 100에서 50만으로 이동하기 위해서 '+'버튼을 49만 9900번을 누르면 되고,
    '-' 버튼을 누른다고 한다면 100에서 99만 9900으로 이동한 뒤
    '-' 버튼을 49만 9900번을 누르는 방법이 있다.

-> 즉 "+", '-'을 누르는 범위는 0 ~ 99만 9900이다.

2번.

: 버튼이 고장나있는지를 확인한다.
버튼이 고장나 있지 않다면, '+'나 '-'을 누르는 것보다 훨씬 좋은 방법이다.
버튼 체크 유무 확인하면서 카운팅값을 갱신하자.
각 숫자 버튼은 %10으로 진행하면 된다.

profile
🔥🔥🔥

0개의 댓글

관련 채용 정보