광규니
광규니네
광규니
전체 방문자
오늘
어제
  • 분류 전체보기 (154)
    • 알고리즘 (100)
      • 알고리즘 개념 (2)
      • 문제 풀이 (96)
    • 주절주절 (19)
      • 자격증, 활동 후기 (4)
      • 전시회 후기 (3)
      • 이모저모 (2)
      • 회고 (3)
      • 뜨럼 (7)
    • 운영체제 (9)
    • 개발 지식 (9)
      • Apple Watch (4)
      • MySQL (2)
      • Eclipse (1)
      • XCode (1)
    • 네트워크 공부 (1)
    • 데이터베이스 공부 (5)
    • Java 공부 (7)
    • TMP (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 컴퓨터 사이언스
  • 파이썬
  • DP
  • 개념
  • BOJ
  • 애플워치 앱
  • OS
  • 운영체제
  • 자바
  • 애플워치 앱 만들기
  • 티스토리챌린지
  • 오블완
  • BFS
  • 백준
  • 다이나믹 프로그래밍
  • 프로그래머스
  • 알고리즘
  • 구현
  • 드린이
  • 합주

최근 댓글

최근 글

티스토리

250x250
hELLO · Designed By 정상우.
광규니

광규니네

알고리즘/문제 풀이

[Python/파이썬 1107 백준] 리모컨

2021. 5. 20. 23:01
반응형

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

 

1107번: 리모컨

첫째 줄에 수빈이가 이동하려고 하는 채널 N (0 ≤ N ≤ 500,000)이 주어진다.  둘째 줄에는 고장난 버튼의 개수 M (0 ≤ M ≤ 10)이 주어진다. 고장난 버튼이 있는 경우에는 셋째 줄에는 고장난 버튼

www.acmicpc.net

풀이

브루트포스 문제

처음 cnt 값을 n과 100 차이 값으로 잡고 

min값을 비교해나갔습니다.

 

범위를 1000001 를 잡은 이유는

n이 최대 500000 일때 만약 위에서부터 ex) 600000 꺼꾸로 내려오는 경우가

더 가까운 경우가 있을수도 있어서 1000001로 잡은겁니당

 

for 문에서

flag로 못누르는 버튼이 있다면 통과

전부 다 누를 수 있다면 n값과의 차 + i의 길이(i값을 받기위해 리모콘을 눌렀기때문)

 

# 백준 1107
# 브루트포스 리모컨

import sys
input=sys.stdin.readline

n=int(input())
m=int(input())

button=list(map(int,input().split()))

cnt=abs(100-n)

for i in range(1000001):
    tmp=list(str(i))
    flag=False
    # 숫자중에 못누르는 버튼이 있으면 통과
    for j in tmp:
        if int(j) in button:
            flag=True
            break
    if flag:
        continue
    # 가장 가까운 버튼 중에서 n-i 한 값 + 길이(가장 가까운 위치만큼 리모콘 누르기때문)
    else:
        cnt=min(cnt,abs(n-i)+len(str(i)))
        
print(cnt)

 

브루트포스 연습 연습!!

반응형
저작자표시

'알고리즘 > 문제 풀이' 카테고리의 다른 글

[파이썬/Python 프로그래머스] 체육복  (0) 2021.06.28
[Python/파이썬 백준 1339] 단어 수학  (0) 2021.06.02
[Python/파이썬 프로그래머스] 광고 삽입  (0) 2021.05.19
[Python/파이썬 프로그래머스] 메뉴 리뉴얼  (0) 2021.05.10
[Python/파이썬 프로그래머스] 보석 쇼핑  (0) 2021.05.06
    '알고리즘/문제 풀이' 카테고리의 다른 글
    • [파이썬/Python 프로그래머스] 체육복
    • [Python/파이썬 백준 1339] 단어 수학
    • [Python/파이썬 프로그래머스] 광고 삽입
    • [Python/파이썬 프로그래머스] 메뉴 리뉴얼
    광규니
    광규니
    공부 및 일상 올리기~

    티스토리툴바