본문 바로가기
SMALL

알고리즘-python48

[프로그래머스/2단계/파이썬(Python3)] 캐시 문제 출처 = cacheSize: cache.pop(0) # 가장 덜 사용될수록 리스트 첫번째에 오게 됨 cache.append(city) answer += 5 return answer 문제풀이 팁 list(map(lambda())) 로 작성한 부분을 [x.lower() for x in cities] 로도 쓸 수 있다 cache.remove(item)을 cache.pop(cache.index(item)) 으로 바꿀 수 있다 캐시 알고리즘 개념 확인하러 가기↓↓↓↓↓↓ [알고리즘/파이썬(Python3)] 캐시 알고리즘 중 LRU 알고리즘 캐시 알고리즘은 최근 사용하거나 자주 사용하는 데이터 항목을 빠른 계산이 가능한 메모리 위치에 유지시키는 구조입니다. 정보를 제공하는 속도를 높이기 위해 새로운 데이터가 .. 2021. 7. 13.
[백준/2869/파이썬(Python3)] 달팽이는 올라가고 싶다 문제 출처 2869번: 달팽이는 올라가고 싶다 첫째 줄에 세 정수 A, B, V가 공백으로 구분되어서 주어진다. (1 ≤ B v: print(days) break height-=b.. 2021. 7. 12.
[백준/1193/파이썬(Python3)] 분수 찾기 문제 출처 1193번: 분수찾기 첫째 줄에 X(1 ≤ X ≤ 10,000,000)가 주어진다. www.acmicpc.net 풀이 코드 x=int(input()) cnt, start_n, end_n=0, 0, 0 while end_n < x: cnt+=1 end_n += cnt start_n = end_n - cnt if cnt % 2 == 0: a = x - start_n b = cnt+1-a else: a = end_n-x + 1 b = cnt+1-a print (str(a)+'/'+str(b)) 빨간색 화살표 방향으로 규칙이 있기 때문에 x가 속할 마지막 라인(?)은 while 문으로 구할 수 있습니다. x가 속할 마지막 라인을 구한 뒤 그 라인이 짝수 번 째 라인이면 - 분자는 1부터 x위치까지 증.. 2021. 7. 9.
[백준/1927/파이썬(Python3)] 최소힙 문제 출처 1927번: 최소 힙 첫째 줄에 연산의 개수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 자연수라면 배열에 x라는 값을 넣는(추가하는) 연산이고, x가 0 www.acmicpc.net 풀이 코드 import heapq import sys N = int(input()) heap=[] for i in range(N): x = int(sys.stdin.readline()) if x!=0: heapq.heappush(heap, x) else: if not heap: print(0) else: print(heapq.heappop(heap)) for문에서 입력값을 받을 때 x=int(input()) 을 썼더니 시간초과가 났.. 2021. 7. 8.
LIST