Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 30 additions & 0 deletions live8/test90/문제1/백한결.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
def main():
n = int(input())

array = list(map(int, input().strip().split()))[:n]

x = int(input())

array.sort()

count = 0
left, right = 0, n - 1

while left < right:
sum = array[left] + array[right]

if sum == x:
count += 1
left += 1
right -= 1
elif sum < x:
left += 1
else:
right -= 1


print(count)


if __name__ == '__main__':
main()
27 changes: 27 additions & 0 deletions live8/test90/문제2/백한결.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
from itertools import *


def main():

# 백트래킹을 이용한 방법
N, M = map(int, input().split())

def backtrack(start, sequence):
if len(sequence) == M:
print(' '.join(map(str, sequence)))
return

for i in range(start, N+1):
backtrack(i+1, sequence+[i])

backtrack(1, [])

# combinations를 이용한 방법
N, M = map(int, input().split())

for c in combinations(range(1, N+1), M):
print(' '.join(map(str, c)))


if __name__ == '__main__':
main()
17 changes: 17 additions & 0 deletions live8/test90/문제3/백한결.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
def solution(n, computers):
visited = [False] * n

def dfs(v):
visited[v] = True
for i in range(n):
if computers[v][i] == 1 and not visited[i]:
dfs(i)

count = 0

for i in range(n):
if not visited[i]:
dfs(i)
count += 1

return count