Notice
Recent Posts
«   2024/11   »
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
Archives
관리 메뉴

교대최소제곱법

[코테 준비] 라이브러리 없이 살아남기 본문

코딩테스트

[코테 준비] 라이브러리 없이 살아남기

옐라크레 2023. 10. 14. 19:53

이진탐색

def bisect(n):
    left = 0
    right = N - 1
    while True:
        mid = int((right + left) / 2)
        if n == nums[mid]:
            return True
        if right <= left:
            return False

        if n <= nums[mid]:
            right = mid - 1
        else:
            left = mid + 1


N = int(input())
nums = list(map(int, input().split()))
nums.sort()
M = int(input())
check = list(map(int, input().split()))

for c in check:
    if bisect(c):
        print(1)
    else:
        print(0)

순열

n,m = list(map(int,input().split()))
s = []
def dfs():
    if len(s)==m:
        print(*s)
        return
    
    for i in range(1,n+1):
        if i not in s:
            s.append(i)
            dfs()
            s.pop()
dfs()

조합

n,m = list(map(int,input().split()))
s = []
def dfs(start):
    if len(s)==m:
        print(*s)
        return
    
    for i in range(start,n+1):
        if i not in s:
            s.append(i)
            dfs(i+1)
            s.pop()
dfs(1)

 

+

삼성 코테 라이브러리 사용가능!