일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 소프트웨어공학
- DP
- Kruskal
- 백준
- django
- 실습
- 종합설계
- MyPlaylist
- 백트래킹
- codetree
- Planned
- 함밥
- DFS
- 장고
- 모각코
- 동적계획법
- 최소스패닝트리
- programmers
- B대면노래방
- 코드트리
- 데이터베이스
- 마라마라빔
- 파이썬
- 그리디알고리즘
- SQL
- Bellman-Ford
- 프로그래머스
- minimum spanning tree
- 알고리즘
- BFS
Archives
- Today
- Total
Leta Learns
[모각코] 220810 Today I Learned 본문
<백준 1107번 - 리모컨>
간만에 골드 하나 풀어볼까 하고 선택한 문제.
왠지 풀 수 있을 것 같아서 선택한건데 모각코 시간 안에 못 풀었다.
풀면서도 이게 아닌데.. 싶은 생각이 들었지만, 일단 풀기 시작했으니 이 방식으로 맞춰보고 싶었다.
그냥 제출했는데 메모리초과가 발생해서 조금 더 생각해보고 안 되면 구글링해서 다른 사람들 풀이를 참고해서 다시 풀어볼 생각이다.
import sys
input = sys.stdin.readline
sys.setrecursionlimit(10**6)
def minus(mans, n):
mans += 1
n -= 1
ns = list(str(n))
if all([(i not in ns) for i in x]):
return mans
else:
mans = minus(mans, n)
return mans
def plus(pans, n):
pans += 1
if pans <= cal[0]:
n += 1
ns = list(str(n))
if all([(i not in ns) for i in x]):
return pans
else:
pans = plus(pans, n)
return pans
else:
return
n = int(input())
m = int(input())
ns = list(str(n))
ans = len(ns)
if m != 0:
x = list(input().split())
if n == 100:
print(0)
else:
cal = []
if any([(i in ns) for i in x]):
cal.append(minus(ans, n))
cal.append(plus(ans, n))
if cal[-1] == None:
print(cal[0])
else:
print(min(cal))
else:
print(ans)
언뜻 봐도 말도 안 되는 코드
'HUFS > HUFS 모각코 캠프' 카테고리의 다른 글
[모각코] 220817 Today I Learned (0) | 2022.08.17 |
---|---|
[모각코] 220813 Today I Learned (0) | 2022.08.13 |
[모각코] 220806 Today I Learned (0) | 2022.08.06 |
[모각코] 220803 Today I Learned (0) | 2022.08.04 |
[모각코] 220730 Today I Learned (2) | 2022.07.30 |
Comments