알고리즘/백준
-
[백준] 1946 - 신입 사원 (파이썬)알고리즘/백준 2021. 9. 22. 14:16
import sys n = int(sys.stdin.readline()) while(n>0): n -= 1 cnt = int(sys.stdin.readline()) array = [] for _ in range(cnt): array.append(list(map(int,sys.stdin.readline().split()))) array.sort() min = array[0][1] t = cnt for i in range(1,cnt): if array[i][1] > min: t -= 1 else: min = array[i][1] print(t)
-
[백준] 1937 - 욕심쟁이 판다 (파이썬)알고리즘/백준 2021. 9. 22. 14:15
n = int(input()) array = [] brray = [[0 for _ in range(n)] for _ in range(n)] for _ in range(n): array.append(list(map(int,input().split()))) dx = [-1,0,1,0] dy = [0,-1,0,1] def DFS(x,y,v,xx,yy): t = 4 if brray[x][y] == 0: brray[x][y] = 1 for i in range(2): nx = x+dx[i] ny = y+dy[i] if 0
-
[백준] 1339 - 단어 수학 (파이썬)알고리즘/백준 2021. 9. 22. 14:11
import sys n = int(sys.stdin.readline().rstrip()) array = [] ex = {'A':0,'B':0,'C':0,'D':0,'E':0,'F':0,'G':0,'H':0,'I':0,'J':0,\ 'K':0,'L':0,'M':0,'N':0,'O':0,'P':0,'Q':0,'R':0,'S':0,'T':0,'U':0,\ 'V':0,'W':0,'X':0,'Y':0,'Z':0} for _ in range(n): array.append(list(sys.stdin.readline().rstrip())) for i in range(n): cnt = 0 for j in range(len(array[i])-1,-1,-1): ex[array[i][j]] += 10**cnt cnt += 1..
-
[백준] 1300 - K번째 수 (파이썬)알고리즘/백준 2021. 9. 22. 14:09
n = int(input()) k = int(input()) a = [2*n-1] for i in range(n-1,0,-1): a.append(a[-1]+2*i-1) def binary_search(start,end,target): if start>end: return start mid = (start+end)//2 if a[mid] > target: return binary_search(start,mid-1,target) elif a[mid] == target: return mid else: return binary_search(mid+1,end,target) print(binary_search(0,len(a),k)+1) 이분탐색 알고리즘을 활용
-
[백준] 1107 - 리모컨 (파이썬)알고리즘/백준 2021. 9. 22. 14:07
n = int(input()) array = list(map(int,str(n))) m = int(input()) total = [] if m != 0: mn = 5000001 condition = list(map(str,input().split())) for i in range(0,5000001): total.append(i) k = str(i) for j in range(len(k)): if k[j] in condition: total.pop() break for i in total: value = len(str(i)) + abs(n-i) mn = min(mn,value) value2 = abs(100-n) mn = min(mn,value2) print(mn) else: mn = min(abs(100..
-
[백준] 1976 - 여행 가자 (파이썬)알고리즘/백준 2021. 9. 22. 14:03
n = int(input()) m = int(input()) array = [-1 for _ in range(n+1)] def find(x): if array[x] < 0: return x array[x] = find(array[x]) return array[x] def union(x,y): x = find(x) y = find(y) if x==y: return array[x] = y for i in range(1,n+1): a = list(map(int,input().split())) for j in range(len(a)): if a[j] == 1: union(i,j+1) answer = list(map(int,input().split())) if m == 0 or m==1: print('YES') ..