반응형

이분 탐색 3

[99클럽 코테 스터디 4일차 TIL] 이분 탐색

문제 : https://www.acmicpc.net/problem/2343   풀이이분 탐색을 활용하는 방법이진 이진 탐색은 배열 내부의 데이터가 정렬되어 있어야만 사용할 수 있는 알고리즘 입니다. 따라서 sort() 메서드를 사용하여 정렬을 우선 해줘야 합니다. 그리고 보통 변수 3개 (start, mid, end)를 사용하여 탐색하게 됩니다.이분 탐색을 사용할 경우 시간 복잡도는 O(logN)입니다. 단계마다 탐색 범위를 반으로 나누는 것과 동일하므로 O(logN)이라는 시간 복잡도를 가지게 됩니다. import sysread = sys.stdin.readlineN, M = map(int, read().split())data = list(map(int, read().split()))# 이분 탐색 값 ..

카테고리 없음 2025.01.16

[99클럽 코테 스터디 2일차 TIL] 이분 탐색 - 백준 1654번 문제 (랜선 자르기)

문제 : https://www.acmicpc.net/problem/1654  풀이이분 탐색을 활용하는 방법이진 이진 탐색은 배열 내부의 데이터가 정렬되어 있어야만 사용할 수 있는 알고리즘 입니다. 따라서 sort() 메서드를 사용하여 정렬을 우선 해줘야 합니다. 그리고 보통 변수 3개 (start, mid, end)를 사용하여 탐색하게 됩니다.이분 탐색을 사용할 경우 시간 복잡도는 O(logN)입니다. 단계마다 탐색 범위를 반으로 나누는 것과 동일하므로 O(logN)이라는 시간 복잡도를 가지게 됩니다. import sysread = sys.stdin.readlineK, N = map(int, read().split())data = list()for i in range(K): data.append(i..

알고리즘 2025.01.14

[99클럽 코테 스터디 1일차 TIL] 집합과 이분 탐색

문제 : https://www.acmicpc.net/problem/2776 풀이1. set 함수를 사용하는 방법 set 함수는 순서가 없는 자료형입니다. 따라서 set을 사용하면 중복된 값이 제거가 됩니다. set을 사용함으로써 시간 복잡도가 O(N)이 됩니다.t = int(input())for _ in range(t): n = int(input()) note1 = set(map(int,input().split())) m = int(input()) note2 = list(map(int,input().split())) for num in note2: if num in note1: print(1) else: ..

알고리즘 2025.01.13
반응형