[99클럽 5기] 코딩테스트 스터디 3일차 TIL - 이분 탐색(이진 탐색)
·
항해99
[Silver III] 선분 위의 점 - 11663[문제 링크](https://www.acmicpc.net/problem/11663)오늘의 학습 키워드이분 탐색(이진 탐색)본인의 언어로 내용 정리점과 선분이 주어지고, 선분 위에 점이 몇 개 있는지를 구하는 프로그램을 작성하는 문제이다.  이분 탐색을 활용하여 문제를 해결할 수 있었다. 하지만 정확하게 어느 것을 탐색해야 할 지에 대해 많은 고민을 하였을 것이다. 문제의 알고리즘 분류를 확인하면 이분 탐색과 정렬이 있음을 알 수 있다. 따라서 정렬에 해당하는 부분은 입력으로 받은 점을 리스트 형태로 저장하여 sort()시키는 것이다. 이후 한 선분에 대해 가장 작은 점과 가장 큰 점을 구하여 두 점의 인덱스 번호를 이용한다면 해당 선분에 점이 몇개가 존재..
[99클럽 5기] 코딩테스트 스터디 2일차 TIL - 이분 탐색(이진 탐색)
·
항해99
[Silver II] 랜선 자르기 - 1654 [문제 링크](https://www.acmicpc.net/problem/1654)오늘의 학습 키워드이분 탐색(이진 탐색)본인의 언어로 내용 정리오늘의 문제는 어제와 마찬가지로 이분 탐색을 활용하여 문제를 해결하는 문제였다. 입력으로 처음 랜선의 개수와 필요 랜선의 개수를 받고 이후 기존의 랜선들의 길이를 입력으로 받는다. 먼저 입력받은 랜선의 길이를 리스트에 저장하여 이를 이분 탐색하는 방식으로 접근하였다.mid를 구하기 위해 start, end 값을 각각 1, 제일 긴 랜선의 길이 로 설정해주었고, mid값보다 큰 길이에 대해 (길이 // mid)의 결과값을 새로운 리스트에 저장하였다. 이는 기존의 랜선을 자르고난 후의 랜선의 개수이다. 개수가 저장된 리스..
[99클럽 5기] 코딩테스트 스터디 1일차 TIL - 이분 탐색(이진 탐색)
·
항해99
[Silver IV] 암기왕 - 2776[문제 링크](https://www.acmicpc.net/problem/2776)오늘의 학습 키워드이분 탐색(이진 탐색)본인의 언어로 내용 정리이분 탐색을 활용하여 문제를 해결하였다. 수첩 1의 내용에 대하여, 수첩 2에 해당 내용이 있을 경우 1을 출력하고, 없을 경우 0을 출력하는 프로그램을 작성하는 문제이다.  search() 메소드를 작성하여 수첩 2의 원소 하나의 값에 대하여 수첩 1을 탐색하고 일치한 경우 1을 출력, 아닌 경우 0을 출력하도록 작성하였다.  입력으로 수첩 2의 원소들을 받고, 수첩 1의 내용들이 담긴 리스트, 수첩 1의 원소 개수들을 받는다.start 값은 0, end 값은 수첩 1의 원소의 갯수(n) - 1이다. (인덱스 번호로 사용되..