반응형 프로그래머스238 (Python/Lv2)마법의 엘리베이터 문제 출처:https://school.programmers.co.kr/learn/courses/30/lessons/14865 풀이: 틀린풀이 def solution(storey): arr =[ int(i) for i in str(storey)] count = 0 while len(arr) > 0: number = arr.pop() if number > 5: count += 10 - number next_number = arr.pop() next_number += 1 arr.append(next_number) else: count += number return count 38.5 / 100 def solution(storey): arr =[ int(i) for i in str(storey)] count =.. 2023. 1. 1. (Python/LV2) 테이블 해시 함수 문제 출처: 풀이: def solution(data, col, row_begin, row_end): x = sorted(data, key =lambda x:(x[col-1],-x[0])) res = [] while row_begin 2022. 12. 26. (Python/LV1) 크기가 작은 부분 문자열 문제 출처:https://school.programmers.co.kr/learn/courses/30/lessons/147355 풀이: def solution(t, p): list = [] x,y = 0,len(p) while len(t)-x >= y : list.append(t[x:x+y]) x += 1 return len([i for i in list if int(i) 2022. 12. 26. (Python/LV2) 디펜스 게임 출처: https://school.programmers.co.kr/learn/courses/30/lessons/142085 문제 풀이: import heapq def solution(n, k, enemy): list = [] res = 0 count = 0 for i in enemy: res += i # 일단 막고봄 if res > 밑에서 최댓 값 비교 count += 1 elif k > 0: # 이제 필살기를 써서 막을때 k -= 1 # k를 1 깎고 res += heapq.heappushpop(list,-i) # 가장 높은값과 에너미와 비교해서 높은거를 k를 막고 낮은거를 다시 집어넣은 count +=1 else: break return count 2022. 12. 18. (Python/LV1)가장 가까운 같은 글자 문제출처: https://school.programmers.co.kr/learn/courses/30/lessons/142086 풀이: def solution(s): res =[] for i in range(0,len(s)): if s[i] not in s[:i]: res.append(-1) else: str = s[:i][::-1] res.append(str.find(s[i]) + 1) return res else 문은 만약 ban / a 일때 가장 가까운 a를 찾아야하므로 뒤집어진 ban를 닮을 str를 만들어주고 find로 가장 가까이 있는 인덱스 찾아서 인덱스는 0 부터 시작하니 1 을 더해줘서 리턴 다른 방법으로는 딕셔너리 방법이있음 def solution(s): answer = [] dic = .. 2022. 12. 18. (Pyhton/Heap) 힙 (Heap) Heap :이진 트리의 한 종류 루투 노드가 언제나 최댓값, 최솟값 완전 이진 트리여야함 (레벨 k-2 까지는 모든 노드가 2개의 자식을 가진 포화 이진트로 , k-1 에서는 노드가 순차적) maxheap, minheap 이진탐색트리와의 비교 1, 완전한 크기순인가 >> 아니다 2. 빠르게 검색할 수 있는가 >> 아니다 >> 3. 부가 제약조건? >> 완전이진트리 여야함 최대힙 (Max Heap) __init__() : 빈 최대힙 생성 insert(item) - 새로운 원소 삽입 remove() 최대 원소를 반환 (root node) >> 동시에 삭제 표현 (배열 이용) 왼쪾 자식의 번호 : 2*m , 오른쪽은 2*m +1 부모 m // 2 노드 마지막 노드에서만 삭제/추가 가능 insert 구현 cla.. 2022. 12. 16. 이전 1 ··· 11 12 13 14 15 16 17 ··· 40 다음 반응형