일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- U_stage
- 단계별문제풀이
- Level2
- 알고리즘스터디
- 부스트캠프_AITech_3기
- 주간회고
- dp
- dfs
- 백트랙킹
- 개인회고
- Level2_PStage
- 글또
- 최단경로
- mrc
- 구현
- 정렬
- python3
- 알고리즘_스터디
- 백준
- 기술면접
- 다시보기
- 부스트캠프_AITech3기
- 이진탐색
- 프로그래머스
- 이코테
- ODQA
- 그리디
- 파이썬 3
- Level1
- 그래프이론
- Today
- Total
목록이진탐색 (8)
국문과 유목민

주간 코딩스터디 때 푼 문제들을 정리하고 있습니다. 구체적인 문제에 대한 정보는 게시글 내 링크를 살펴봐주세요 소요시간: 40분 + a 1. 문제 설명 https://programmers.co.kr/learn/courses/30/lessons/72412 = int(sample[4]): per_count += 1 if per_count == 5: count+=1 answer.append(count) return answer 코드 (해답) from collections import defaultdict from itertools import combinations from bisect import bisect_left, bisect_right def solution(info, query): answer = ..

"이것이 코딩테스트다(나동빈 저)"에서 나온 문제에 대한 코드를 다루고 있습니다. 문제에 대한 구체적인 설명과 조건 등은 책을 참고해주시기 바랍니다. 소요시간: 30분 + a 1. 문제 설명 https://programmers.co.kr/learn/courses/30/lessons/60060 코딩테스트 연습 - 가사 검색 programmers.co.kr 2. 접근 방식 - 이진탐색을 활용해서 문제를 푼다. - 가사 단어의 길이별로 가사 단어를 개별적으로 저장시켜 놓는다. (그렇게 되면 길이가 1인 애들부터 n인 애들끼리 각자 묶일 것이다.) - 찾으려는 가사의 조합을 이진 탐색으로 찾기 위해서 위 가사 단어의 리스트를 정렬시킨다. - 이 때 찾으려는 queries의 원소들이 '???'가 앞과 뒤에 붙을 ..

오늘은 만만해(?)보이는 정렬과 이진탐색 두 단원 총 7문제를 풀었다. 문제를 풀면서 솔직히 만만하게 접근한 감이 없지 않아 있는데, 아직 많이 부족하다는 것을 느꼈다. 그래도 오늘 좀 여러가지를 배울 수 있었던 것 같다. 정렬에서 여러가지 다중 값을 주는 거라든가, 이진탐색에서 bisect 라이브러리의 존재라든가 실제 코테에서 유용하게 상요할 수 있을 도구들에 대해서 알 수 있는 시간이었던 것 같다. 그리고 heapq를 활용해서 최소힙 그래프를 구현할 수 있다는 것을 다시 한 번 깨달았던 것도 좋은 경험이었다고 생각한다. 내일은 DP파트를 들어가야 하는데, 토요일에 코테 시험이라서 지금까지 학습했던 코드들을 정리하는게 더 좋을 것 같기도 하다. 그건 내일 상황을 봐서 공부를 하는 것으로 하겠다. 오늘 ..

"이것이 코딩테스트다(나동빈 저)"에서 나온 문제에 대한 코드를 다루고 있습니다. 문제에 대한 구체적인 설명과 조건 등은 책을 참고해주시기 바랍니다. 소요시간: 50분 + a 1. 문제 설명 - 공유기를 설치해야 하는데 가장 인접한 두 공유기 사이의 거리를 최대로 하는 프로그램을 작성하는 문제 2. 접근 방식 - 초기에는 공유기를 끝과 끝에 배치하고, 이진탐색을 하면서 남은 공유기를 배치하려고 했다. - 그리고 공유기를 배치한 것들의 차를 구해서 가장 최대인 거리를 구하려고 했으나...답이 아니었다. - '가장 인접한 두 공유기 사이의 거리'의 최댓값을 탐색해야 하는 문제로 이해해야 한다'고 하는데 사실 아직까지도 이해가 잘 안되긴 한다... - 아무튼 '가장 인접한 두 공유기 사이의 거리'를 조절해가며..

"이것이 코딩테스트다(나동빈 저)"에서 나온 문제에 대한 코드를 다루고 있습니다. 문제에 대한 구체적인 설명과 조건 등은 책을 참고해주시기 바랍니다. 소요시간: 20분 1. 문제 설명 - 인덱스와 값이 일치하는 것을 '고정점'이라고 한다. 고정점이 있다면 이를 리턴하고, 아니라면 -1을 리턴하는 문제 2. 접근 방식 - 이진 탐색을 활용하고, 고정점을 target으로 생각하면 된다. 3. 코드 n = int(input()) array = list(map(int, input().split())) def binary(array, start, end): if start > end: return None mid = (start+end) // 2 if ls[mid] == mid: return mid elif ar..

"이것이 코딩테스트다(나동빈 저)"에서 나온 문제에 대한 코드를 다루고 있습니다. 문제에 대한 구체적인 설명과 조건 등은 책을 참고해주시기 바랍니다. 소요시간: 30 1. 문제 설명 - 정렬된 배열에서 특정 수의 개수 구하는 문제 2. 접근 방식 - 처음에는 이진탐색을 이용해 값을 찾고, 후에는 그 주위로 퍼져 나가는 느낌으로 값을 찾으려고 했다. 해당 문제의 경우 백준 등에 게시된 문제가 아니라서 정답을 확인할 수 없었다. - 하지만 bisect 라이브러리를 활용해 쉽게 풀 수 있었다. 3. 코드 - 초기 코드 def binary_search(start, end, target): if start > end: return -1 mid = (start+end) // 2 if ls[mid] == target..