코딩테스트 준비 Day 4

Seok·2023년 2월 21일
0

[백준: 1920] 수 찾기

# 난이도: 실버 4
# 알고리즘 유형: 자료구조, 정렬, 이분탐색

"""
시작시간: 02:32
종료시간: 02:41
"""

n = int(input())
arr = list(map(int, input().split()))
m = int(input())
check_arr = list(map(int, input().split()))

# 리스트 정렬
arr.sort()


# 이진탐색 함수 코드
def binary_search(arr, start, end, target):
    if start > end:
        return None
    mid = (start + end) // 2
    if arr[mid] == target:
        return target
    elif arr[mid] > target:
        return binary_search(arr, start, mid - 1, target)
    else:
        return binary_search(arr, mid + 1, end, target)


# 확인해야할 리스트에서 하나씩 꺼내가며 이진탐색으로 확인
for i in check_arr:
    target = binary_search(arr, 0, n - 1, i)
    if target == i:
        print(1)
    else:
        print(0)

[백준: 1929] 소수 구하기

# 난이도: 실버 3
# 알고리즘 유형: 수학, 정수론, 소수 판정, 에라토스테네스의 체

"""
시작시간: 03:20
종료시간: 03:42
"""

m, n = map(int, input().split())


# 소수 판별 코드
def check_prime(num):
    root = int(num ** (1 / 2))
    for i in range(2, root + 1):
        if num % i == 0:
            return False
    return True


for i in range(m, n + 1):
    if i == 1:
        continue
    if check_prime(i):
        print(i)
profile
응애 CV 개발자

0개의 댓글