본문 바로가기

컴퓨터/백준 문제풀이20

1927 최소 힙, 1715 카드 정렬하기, 1766 문제집 1927 최소 힙, 1715 카드 정렬하기, 1766 문제집 1927 최소 힙 # 첫번째 풀이(힙 이용하지 않음. 시간초과) n = int(input()) array = [] zero = 0 count = 0 for _ in range(n): num = int(input()) if num == 0: if count == 0: print(0) else: array = sorted(array, reverse=True) print(array[-1]) array = array[:-1] count -= 1 else: array.append(num) count += 1 # 두번째 풀이(힙 이용) import heapq n = int(input()) heap = [] result = [] for _ in range(.. 2020. 9. 25.
2110 공유기, 1939 중량제한, 1991 트리 순회 2110 공유기, 1939 중량제한, 1991 트리 순회 2110 공유기 n, c = map(int, input().split(' ')) array = [] for _ in range(n): array.append(int(input())) array = sorted(array) minval = array[1] - array[0] # 제일 짧은 거리 maxval = array[-1] - array[0] # 제일 긴 거리 result = 0 while minval = value + gap: value = array[i] count += 1 if count >= c: minval = gap + 1 result = gap else: maxval = gap - 1 print(result) - bfs 개념 필요함 .. 2020. 9. 25.
1302 베스트셀러, 1668 트로피진열, 1236 성 지키기 1302 베스트셀러 test_case = int(input()) # 딕셔너리를 이용해서 각 책을 얼마나 구입했는지 확인 books = {} for _ in range(test_case): book = input() if book in books: books[book] += 1 else: books[book] = 1 target = max(books.value()) # 제일 많이 판매된 값 array = [] for book, number in books.items(): # 제일 많이 판매된 값의 책 이름 리스트 뽑기 if number == target: array.append(book) print(sorted(array)[0]) # 정렬해서 첫번째 값 추출 얻은 것 - max() 함수 활용 - dict... 2020. 9. 23.
11004 k번째 수, 1543 문서 검색, 1568 새 11004 k번째 수 n, k = list(map(int, input().split(' '))) a = list(map(int, input().split(' '))) a.sort() # 파이썬 정렬 함수 print(a[k-1]) 1543 문서 검색 sentence = input() word = input() idx = 0 result = 0 while len(sentence) - idx >= len(word): if sentence[idx:idx + len(word)] == word: result += 1 idx += len(word) else: idx += 1 print(result) 얻은 것 - input() 함수의 리턴 값 : 문자열 - 문자열 인덱싱, 슬라이싱 활용 1568 새 # 첫번째 풀이 n.. 2020. 9. 19.