본문 바로가기

코딩테스트13

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.
11650 좌표 정렬하기, 10989 수 정렬하기 3, 2747 피노나치 수 11650 좌표 정렬하기 그냥 정렬 문제랑 비슷하다고 생각했는데 두번째 항목의 정렬법을 모름 test_case = int(input()) array = [] for _ in range(test_case): data = list(map(int, input().split(' '))) array.append((data[0], data[1])) array = sorted(array) for i in array: print(i[0], i[1]) 그냥 sorted()에 key값만 빼주면 된다니 ... 그럼 첫번째 항목 오름차순, 두번째 항목 내림차순은 어떻게하지..? 얻은 것 - sorted() 함수는 기본적으로 오름차순으로 정렬 - 아래 링크를 따라가면 같이 사용할 수 있는 정렬 관련 함수도 있음. 유용함 htt.. 2020. 9. 12.