From c3afa99e0d895829916f711a3e80f0e55c2d912b Mon Sep 17 00:00:00 2001 From: bsyzch Date: Wed, 18 Aug 2021 02:59:00 +0900 Subject: [PATCH 1/2] =?UTF-8?q?=EC=B0=AC=EB=AF=BC=20=EB=B0=B1=EC=A4=80?= =?UTF-8?q?=EC=88=99=EC=A0=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../\353\260\261\354\244\200_1484.py" | 18 +++++++++ .../\353\260\261\354\244\200_1991.py" | 37 +++++++++++++++++++ 2 files changed, 55 insertions(+) create mode 100644 "cmkim/BaekJoon/\353\260\261\354\244\200_1484.py" create mode 100644 "cmkim/BaekJoon/\353\260\261\354\244\200_1991.py" diff --git "a/cmkim/BaekJoon/\353\260\261\354\244\200_1484.py" "b/cmkim/BaekJoon/\353\260\261\354\244\200_1484.py" new file mode 100644 index 0000000..d5a2348 --- /dev/null +++ "b/cmkim/BaekJoon/\353\260\261\354\244\200_1484.py" @@ -0,0 +1,18 @@ +g = int(input()) +a, b = 1, 2 #기억한 몸무게, 현재 몸무게 + +find = False +while a < g and b < g: + if b**2 - a**2 == g: + print(b) + find = True + a += 1 + elif (b**2 - a**2) > g: + a += 1 + else: + b += 1 + +if not find: + print(-1) + +#시간이 왜 이렇게 오래 걸리는지? \ No newline at end of file diff --git "a/cmkim/BaekJoon/\353\260\261\354\244\200_1991.py" "b/cmkim/BaekJoon/\353\260\261\354\244\200_1991.py" new file mode 100644 index 0000000..9ee464f --- /dev/null +++ "b/cmkim/BaekJoon/\353\260\261\354\244\200_1991.py" @@ -0,0 +1,37 @@ +def rab(node): + if node == '.': + return + print(node, end='') + rab(tree[node][0]) + rab(tree[node][1]) + + +def arb(node): + if node == '.': + return + arb(tree[node][0]) + print(node, end='') + arb(tree[node][1]) + + +def abr(node): + if node == '.': + return + abr(tree[node][0]) + abr(tree[node][1]) + print(node, end='') + + +n = int(input()) +tree = {} + +for _ in range(n): + root, left, right = input().split() + tree[root] = [left, right] + +#print(tree) +rab('A') +print('') +arb('A') +print('') +abr('A') From a10cac9684ec2dcb3562b6e5b6c2f9257fd40b39 Mon Sep 17 00:00:00 2001 From: bsyzch Date: Fri, 27 Aug 2021 06:57:20 +0900 Subject: [PATCH 2/2] =?UTF-8?q?'8/27=EB=B0=B1=EC=A4=80=EC=88=99=EC=A0=9C'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../\353\260\261\354\244\200_10800.py" | 33 ++++++++++ .../\353\260\261\354\244\200_12927.py" | 17 ++++++ .../\353\260\261\354\244\200_1484.py" | 3 +- .../\353\260\261\354\244\200_1991.py" | 2 +- .../\353\260\261\354\244\200_2533.py" | 13 ++++ .../\353\260\261\354\244\200_2842.py" | 60 +++++++++++++++++++ .../1\353\262\210\353\254\270\354\240\234.py" | 46 ++++++++++++++ .../2\353\262\210\353\254\270\354\240\234.py" | 36 +++++++++++ 8 files changed, 208 insertions(+), 2 deletions(-) create mode 100644 "cmkim/BaekJoon/\353\260\261\354\244\200_10800.py" create mode 100644 "cmkim/BaekJoon/\353\260\261\354\244\200_12927.py" create mode 100644 "cmkim/BaekJoon/\353\260\261\354\244\200_2533.py" create mode 100644 "cmkim/BaekJoon/\353\260\261\354\244\200_2842.py" create mode 100644 "cmkim/\352\267\270\353\240\231 \354\261\204\354\232\251 \354\261\214\353\246\260\354\247\200/1\353\262\210\353\254\270\354\240\234.py" create mode 100644 "cmkim/\352\267\270\353\240\231 \354\261\204\354\232\251 \354\261\214\353\246\260\354\247\200/2\353\262\210\353\254\270\354\240\234.py" diff --git "a/cmkim/BaekJoon/\353\260\261\354\244\200_10800.py" "b/cmkim/BaekJoon/\353\260\261\354\244\200_10800.py" new file mode 100644 index 0000000..81809b8 --- /dev/null +++ "b/cmkim/BaekJoon/\353\260\261\354\244\200_10800.py" @@ -0,0 +1,33 @@ +import sys + +input = sys.stdin.readline +n = int(input()) + +ball = [] +answer = [0] * n +color = [0] * 200001 # [0 for _ in range(200000)] # + +for i in range(n): + c, s = map(int, input().split()) + ball.append([i, c, s]) + +# print(ball) +ball.sort(key=lambda x: x[2]) # 사이즈, 컬러 순 오름차순 +# print(ball) + +j = 0 +sum = 0 +for i in range(n): + a = ball[i] + b = ball[j] + + while b[2] < a[2]: + sum += b[2] + color[b[1]] += b[2] + j += 1 + b = ball[j] + + answer[a[0]] = sum - color[a[1]] + +for i in range(n): + print(answer[i]) diff --git "a/cmkim/BaekJoon/\353\260\261\354\244\200_12927.py" "b/cmkim/BaekJoon/\353\260\261\354\244\200_12927.py" new file mode 100644 index 0000000..1e7c8ee --- /dev/null +++ "b/cmkim/BaekJoon/\353\260\261\354\244\200_12927.py" @@ -0,0 +1,17 @@ +arr = input() +n = len(arr) +light = [-1] +count = 0 +for i in range(n): + if arr[i] == 'Y': + light.append(1) + else: + light.append(-1) + +for i in range(1, n+1): + if light[i] == 1: + for j in range(i, n+1, i): + light[j] *= -1 + count += 1 + +print(count) \ No newline at end of file diff --git "a/cmkim/BaekJoon/\353\260\261\354\244\200_1484.py" "b/cmkim/BaekJoon/\353\260\261\354\244\200_1484.py" index d5a2348..2c2b949 100644 --- "a/cmkim/BaekJoon/\353\260\261\354\244\200_1484.py" +++ "b/cmkim/BaekJoon/\353\260\261\354\244\200_1484.py" @@ -2,11 +2,12 @@ a, b = 1, 2 #기억한 몸무게, 현재 몸무게 find = False -while a < g and b < g: +while a < 50002 and b < 50002: if b**2 - a**2 == g: print(b) find = True a += 1 + b += 1 elif (b**2 - a**2) > g: a += 1 else: diff --git "a/cmkim/BaekJoon/\353\260\261\354\244\200_1991.py" "b/cmkim/BaekJoon/\353\260\261\354\244\200_1991.py" index 9ee464f..e5c7af2 100644 --- "a/cmkim/BaekJoon/\353\260\261\354\244\200_1991.py" +++ "b/cmkim/BaekJoon/\353\260\261\354\244\200_1991.py" @@ -29,7 +29,7 @@ def abr(node): root, left, right = input().split() tree[root] = [left, right] -#print(tree) +print(tree) rab('A') print('') arb('A') diff --git "a/cmkim/BaekJoon/\353\260\261\354\244\200_2533.py" "b/cmkim/BaekJoon/\353\260\261\354\244\200_2533.py" new file mode 100644 index 0000000..6773e42 --- /dev/null +++ "b/cmkim/BaekJoon/\353\260\261\354\244\200_2533.py" @@ -0,0 +1,13 @@ +import sys +input = sys.stdin.readline + +n = int(input()) +tree = [[] for _ in range(n+1)] +for i in range(n-1): + a, b = map(int, input().split()) + + tree[a].append(b) + tree[b].append(a) + +print(tree) + diff --git "a/cmkim/BaekJoon/\353\260\261\354\244\200_2842.py" "b/cmkim/BaekJoon/\353\260\261\354\244\200_2842.py" new file mode 100644 index 0000000..6beaf21 --- /dev/null +++ "b/cmkim/BaekJoon/\353\260\261\354\244\200_2842.py" @@ -0,0 +1,60 @@ +import sys +from collections import deque +input = sys.stdin.readline +dx = [1, 0, -1, 0, -1, 1, 1, -1] +dy = [0, 1, 0, -1, 1, 1, -1, -1] + +N = int(input()) +map = [list(map(str, input().rstrip())) for _ in range(N)] +height = [[int(x) for x in input().split()] for _ in range(N)] +visited = [[0]*N for _ in range(N)] +houses = [] +n_house = 0 + +# print(map) +# print(height) + +def bfs(x, y, count): + q = deque() + q.append([x, y]) + visited[x][y] = 1 + count += 1 + while q: + x, y = q.popleft() + for i in range(8): + nx = x + dx[i] + ny = y + dy[i] + if 0 <= nx < N and 0 <= ny < N and not visited[nx][ny]: + visited[nx][ny] = 1 + if height[nx][ny] < low: + low = height[nx][ny] + if height[nx][ny] < high: + high = height[nx][ny] + q.append([nx, ny]) + + + + +for i in range(N): + for j in range(N): + if map[i][j] == 'P': + sx, sy = i, j #시작위치 + houses.append([i, j]) + n_house += 1 + if map[i][j] == 'K': + houses.append([i, j]) + n_house += 1 +#print(type(height[1][1])) +# print(houses) +low, high = 1000000, 0 + + +for i in range(n_house): + + if height[houses[i][0]][houses[i][1]] < low: + low = height[houses[i][0]][houses[i][1]] + + if height[houses[i][0]][houses[i][1]] > high: + high = height[houses[i][0]][houses[i][1]] + +print('low, high = ', low, high) \ No newline at end of file diff --git "a/cmkim/\352\267\270\353\240\231 \354\261\204\354\232\251 \354\261\214\353\246\260\354\247\200/1\353\262\210\353\254\270\354\240\234.py" "b/cmkim/\352\267\270\353\240\231 \354\261\204\354\232\251 \354\261\214\353\246\260\354\247\200/1\353\262\210\353\254\270\354\240\234.py" new file mode 100644 index 0000000..a84d778 --- /dev/null +++ "b/cmkim/\352\267\270\353\240\231 \354\261\204\354\232\251 \354\261\214\353\246\260\354\247\200/1\353\262\210\353\254\270\354\240\234.py" @@ -0,0 +1,46 @@ +def solution(arr): + arr.sort() + dp = [0 for _ in range(255)] + for i in range(0, 255): + under, over = 0, 0 + for num in arr: + if i > num: + under += 1 + else: + over += 1 + dp[i] = abs(under - over) + + for i in range(0, 255): + if dp[i] == min(dp): + answer = i + + # left = min(arr) + # right = max(arr) + # diff = len(arr) + # print(diff) + # under, over = 0, 0 + # while left < right: + # mid = (left + right) // 2 + # for i in range(0, len(arr)): + # if mid < arr[i]: + # under = i + # over = len(arr) - i + # print('under, over = ', under, over) + # if abs(under - over) <= diff: + # diff = abs(under - over) + # answer = mid + # if under > over: + # right = mid - 1 + # break + # elif under < over: + # left = mid + 1 + # break + # else: + # right -= 2 + # break + # + # return answer + + +arr =[0, 0, 255, 255, 0, 0, 255, 255, 255] +solution(arr) diff --git "a/cmkim/\352\267\270\353\240\231 \354\261\204\354\232\251 \354\261\214\353\246\260\354\247\200/2\353\262\210\353\254\270\354\240\234.py" "b/cmkim/\352\267\270\353\240\231 \354\261\204\354\232\251 \354\261\214\353\246\260\354\247\200/2\353\262\210\353\254\270\354\240\234.py" new file mode 100644 index 0000000..59ee56c --- /dev/null +++ "b/cmkim/\352\267\270\353\240\231 \354\261\204\354\232\251 \354\261\214\353\246\260\354\247\200/2\353\262\210\353\254\270\354\240\234.py" @@ -0,0 +1,36 @@ +def solution(card_numbers): + answer = [] + for card in card_numbers: + arr = card.split('-') + result = 0 + #print(arr) + valid = 1 + print(len(arr)) + if len(arr) == 4: + for i in range(4): + if len(arr[i]) != 4: + valid = 0 + + if valid == 0: + answer.append(0) + continue + + for i in range(4): + for j in range(4): + result += int(arr[i][j]) + if j%2 == 0: + result += int(arr[i][j]) + if result % 10 == 0: + answer.append(1) + else: + answer.append(0) + else: + for i in range(16): + result += int(arr[i]) + if i % 2 == 0: + result += int(arr[i]) + if result % 10 == 0: + answer.append(1) + else: + answer.append(0) + return answer \ No newline at end of file