diff --git "a/cmkim/BaekJoon/\353\260\261\354\244\200_2178.py" "b/cmkim/BaekJoon/\353\260\261\354\244\200_2178.py" new file mode 100644 index 0000000..a5c1806 --- /dev/null +++ "b/cmkim/BaekJoon/\353\260\261\354\244\200_2178.py" @@ -0,0 +1,36 @@ +import sys +input = sys.stdin.readline +from collections import deque +n, m = map(int, input().split()) # n이 세로, m이 가로 + +arr = [] +visited = [[0] * m for _ in range(n)] + +dx, dy = [-1, 1, 0, 0], [0, 0, -1, 1] + + +def bfs(x, y, count): + + while q: + x, y, count = q.popleft() + if x == n - 1 and y == m - 1: + print(count) + break + for i in range(4): + nx = x + dx[i] + ny = y + dy[i] + if 0 <= nx < n and 0 <= ny < m: + if arr[nx][ny] == 1 and visited[nx][ny] == 0: + visited[nx][ny] = 1 + q.append((nx, ny, count+1)) + +for i in range(n): + arr.append(list(map(int, list(input().rstrip())))) + + + +start = (0, 0, 1) +q = deque() +q.append(start) + +bfs(0, 0, 0) diff --git "a/cmkim/BaekJoon/\353\260\261\354\244\200_2980.py" "b/cmkim/BaekJoon/\353\260\261\354\244\200_2980.py" index 8104bc0..bec9356 100644 --- "a/cmkim/BaekJoon/\353\260\261\354\244\200_2980.py" +++ "b/cmkim/BaekJoon/\353\260\261\354\244\200_2980.py" @@ -1,4 +1,4 @@ -N ,L = map(int, input().split()) +N, L = map(int, input().split()) arr =[] tr = 0 diff --git "a/cmkim/BaekJoon/\353\260\261\354\244\200_3061.py" "b/cmkim/BaekJoon/\353\260\261\354\244\200_3061.py" new file mode 100644 index 0000000..f613f7e --- /dev/null +++ "b/cmkim/BaekJoon/\353\260\261\354\244\200_3061.py" @@ -0,0 +1,59 @@ +T = int(input()) + +for _ in range(T): + n = int(input()) + arr = [] * (n+1) + arr = list(map(int, input().split())) + + left, right = 0, 0 + + for i in range(n): + for j in range(n): + if i+1 == arr[j] and i < j: + left = max(left, j-i) + + if i+1 == arr[j] and i > j: + right = max(right, i-j) + + if left + right: + print(left+right-1) + else: + print(0) + + +''' +1 2 3 4 5 + + +1 5 3 4 2 + + + +4 5 3 2 1 +4 3 5 2 1 +3 4 5 2 1 +3 4 2 5 1 +3 2 4 5 1 +2 3 4 5 1 +2 3 4 1 5 +2 3 1 4 5 +2 1 3 4 5 +1 2 3 4 5 + +4 5 3 2 1 +3 5 4 2 1 +2 5 4 3 1 +1 5 4 3 2 +1 4 5 3 2 +1 3 5 4 2 +1 2 5 4 3 +1 2 4 5 3 +1 2 3 5 4 +1 2 3 4 5 + + + +1 2 3 + - +3 2 1 +''' \ No newline at end of file diff --git "a/cmkim/BaekJoon/\353\260\261\354\244\200_4963.py" "b/cmkim/BaekJoon/\353\260\261\354\244\200_4963.py" new file mode 100644 index 0000000..f0562b4 --- /dev/null +++ "b/cmkim/BaekJoon/\353\260\261\354\244\200_4963.py" @@ -0,0 +1,36 @@ +from collections import deque + +dx, dy = [-1, -1, -1, 0, 0, 1, 1, 1], [-1, 0, 1, -1, 1, -1, 0, 1] + + +while True: + w, h = map(int, input().split()) + + if w == 0 and h == 0: + break + else: + arr = [[0] * (w+1) for _ in range(h+1)] + visited = [[0] * (w+1) for _ in range(h+1)] + for i in range(h): + arr[i] = list(map(int, input().split())) + q = deque() + count = 0 + for row in range(h): + for col in range(w): + if arr[row][col] == 1 and visited[row][col] == 0: + + q.append((col, row)) + count += 1 + visited[row][col] = 1 + + + while q: + x, y = q.popleft() # col, row 순서 + for index in range(8): + nx = x + dx[index] + ny = y + dy[index] + if 0 <= nx < w and 0 <= ny < h: + if visited[ny][nx] == 0 and arr[ny][nx] == 1: + visited[ny][nx] = 1 + q.append((nx, ny)) + print(count) \ No newline at end of file diff --git "a/cmkim/SCOFE_1\354\260\250\355\205\214\354\212\244\355\212\270_1\353\262\210.py" "b/cmkim/SCOFE_1\354\260\250\355\205\214\354\212\244\355\212\270_1\353\262\210.py" new file mode 100644 index 0000000..8f77166 --- /dev/null +++ "b/cmkim/SCOFE_1\354\260\250\355\205\214\354\212\244\355\212\270_1\353\262\210.py" @@ -0,0 +1,62 @@ +n = int(input()) + +arr = [[]*15 for _ in range(n)] + +min = '24:60' +max = '00:00' +for i in range(n): + arr[i] = input() + +maxtime = int(max[:2]) +maxmin = int(max[3:5]) +mintime = int(min[:2]) +minmin = int(min[3:5]) + +starttime = '00:00' +endtime = '00:00' + +for i in range(n): + + stime = int(arr[i][:2]) + smin = int(arr[i][3:5]) + etime = int(arr[i][8:10]) + emin = int(arr[i][11:13]) + + if maxtime < stime: #시작 시간중 가장 큰, 늦은 시간 구하기 + maxtime = stime + maxmin = smin + + elif maxtime == stime and maxmin < smin: + maxmin = smin + + if mintime > etime: #종료 시간중 가장 작은, 빠른 시간 구하기 + mintime = etime + minmin = emin + + elif mintime == etime and minmin > emin: + minmin = emin + + +ttime1 = maxtime // 10 +ttime2 = maxtime % 10 +tmin1 = maxmin // 10 +tmin2 = maxmin % 10 + +starttime = str(ttime1) + str(ttime2) + starttime[2:] +starttime = starttime[:3] + str(tmin1) + str(tmin2) + +ttime1 = mintime // 10 +ttime2 = mintime % 10 +tmin1 = minmin // 10 +tmin2 = minmin % 10 + +endtime = str(ttime1) + str(ttime2) + endtime[2:] +endtime = endtime[:3] + str(tmin1) + str(tmin2) + + +if maxtime < mintime: + print(starttime, '~', endtime) +elif maxtime == mintime and maxmin <= minmin: + print(starttime, '~', endtime) +else: + print(-1) \ No newline at end of file diff --git "a/cmkim/SCOFE_1\354\260\250\355\205\214\354\212\244\355\212\270_2\353\262\210.py" "b/cmkim/SCOFE_1\354\260\250\355\205\214\354\212\244\355\212\270_2\353\262\210.py" new file mode 100644 index 0000000..ccbe9c1 --- /dev/null +++ "b/cmkim/SCOFE_1\354\260\250\355\205\214\354\212\244\355\212\270_2\353\262\210.py" @@ -0,0 +1,29 @@ +n = int(input()) +num = int(input()) +arr = [0]* (n+2) +flag = 0 + +for i in range(n): + arr[i] = num // (10**(n-i-1)) + num -= arr[i] * (10**(n-i-1)) + if flag < arr[i]: + flag = arr[i] + start = i + +dp = [0] * (n+2) +# dp[0] = arr[0] +# dp[1] = arr[0]*1 +#print('start = ', start) +if arr[start+1]: + dp[start+1] = arr[start+1] +if arr[start+2]: + dp[start+2] = arr[start+2] + dp[start+1] + +for i in range(start+3, n): + if arr[i]: + dp[i] = dp[i-1] + dp[i-2] + +print(dp[n-1]) + +# print(arr) +# print(dp) \ No newline at end of file diff --git "a/cmkim/SCOFE_1\354\260\250\355\205\214\354\212\244\355\212\270_3\353\262\210.py" "b/cmkim/SCOFE_1\354\260\250\355\205\214\354\212\244\355\212\270_3\353\262\210.py" new file mode 100644 index 0000000..8d6d3e9 --- /dev/null +++ "b/cmkim/SCOFE_1\354\260\250\355\205\214\354\212\244\355\212\270_3\353\262\210.py" @@ -0,0 +1,33 @@ +n = int(input()) +arr = [[0]*(n+1) for _ in range(n+1)] +dp = [[0]*(n+1) for _ in range(n+1)] +count = [0] * (n+1) +for i in range(n): + num = int(input()) + for j in range(n): + arr[i][j] = num // (10 ** (n - j - 1)) + num -= arr[i][j] * (10 ** (n - j - 1)) + +for i in range(1, n+1): + for j in range(1, n+1): + dp[i][j] = dp[i][j-1] + dp[i-1][j] - dp[i-1][j-1] + arr[i-1][j-1] + +# print(arr) +# print(dp) + +for size in range(1, n+1): + for i in range(size, n + 1): + for j in range(size, n + 1): + if dp[i][j] - dp[i][j-size] - dp[i-size][j] + dp[i-size][j-size] == size ** 2: + count[size] += 1 + +for i in range (1, n+1): + print('size[', i, ']:', count[i]) + +''' +4 +1110 +1110 +0110 +0000 +''' \ No newline at end of file diff --git "a/cmkim/SCOFE_1\354\260\250\355\205\214\354\212\244\355\212\270_4\353\262\210.py" "b/cmkim/SCOFE_1\354\260\250\355\205\214\354\212\244\355\212\270_4\353\262\210.py" new file mode 100644 index 0000000..6315a62 --- /dev/null +++ "b/cmkim/SCOFE_1\354\260\250\355\205\214\354\212\244\355\212\270_4\353\262\210.py" @@ -0,0 +1,73 @@ +score = [0] * 5 +score = list(map(float, input().split())) +tempscore = score +# print(score) +sorted_score = sorted(score, reverse=True)#score.sort(reverse=True) +sorted_score_list = [0] * 5 +visited = [0] * 5 + +for i in range(5): + for j in range(5): + if sorted_score[i] == tempscore[j]: + sorted_score_list[i] = chr(j+65) + tempscore[j] += 9999 + break + + +n, m = map(int, input().split()) +watch = [[]*m for _ in range(n)] +genre = [[]*m for _ in range(n)] + +Y = [[0, 0] for _ in range(n*m)] +O = [[0, 0] for _ in range(n*m)] +W = [[0, 0] for _ in range(n*m)] +ycount = 0 +ocount = 0 +wcount = 0 + +yprefer = [0] * (n*m) +oprefer = [0] * (n*m) + + +for i in range(n): + watch[i] = list(input()) + +for i in range(n): + genre[i] = list(input()) + +for i in range(n): + for j in range(m): + if watch[i][j] == 'Y': + Y[ycount] = [i, j] + ycount += 1 + elif watch[i][j] == 'O': + O[ocount] = [i, j] + ocount += 1 + elif watch[i][j] == 'W': + W[wcount] = [i, j] + wcount += 1 + + + + +for j in range(5): + for i in range(ycount): + if genre[Y[i][0]][Y[i][1]] == sorted_score_list[j]: + yprefer[i] = sorted_score[j] +for j in range(5): + for i in range(ocount): + if genre[O[i][0]][O[i][1]] == sorted_score_list[j]: + oprefer[i] = sorted_score[j] + +for j in range(5): + for i in range(ycount): + if sorted_score[j] == yprefer[i]: + print(genre[Y[i][0]][Y[i][1]], sorted_score[j], Y[i][0], Y[i][1]) + yprefer[i] += 9999 + +for j in range(5): + for i in range(ocount): + if sorted_score[j] == oprefer[i]: + print(genre[O[i][0]][O[i][1]], sorted_score[j], O[i][0], O[i][1]) + oprefer[i] += 9999 + diff --git "a/cmkim/SCOFE_1\354\260\250\355\205\214\354\212\244\355\212\270_5\353\262\210.py" "b/cmkim/SCOFE_1\354\260\250\355\205\214\354\212\244\355\212\270_5\353\262\210.py" new file mode 100644 index 0000000..b99745d --- /dev/null +++ "b/cmkim/SCOFE_1\354\260\250\355\205\214\354\212\244\355\212\270_5\353\262\210.py" @@ -0,0 +1,38 @@ +n, m = map(int, input().split()) # n이 가로, m이 세로 , 가로, 세로 순으로 받는다 + +arr = [[-1] * n for _ in range(m)] + +screen = [0] * m +start =[0] * n +sindex = 0 +for i in range(m): + screen[i] = input() + +for i in range(m): + for j in range(n): + if screen[i][j] == 'c': + arr[i][j] = 0 + start[sindex] = j + sindex += 1 + elif screen[i][j] == '.': + arr[i][j] = 0 +#print(arr) + +for i in range(m): + for j in range(n): + if screen[i][j] == 'c': + continue + elif screen[i][j] == '.': + + + + + +''' +4 5 +c.xc +.... +xx.. +...x +x..x +''' \ No newline at end of file diff --git "a/cmkim/SCOFE_1\354\260\250\355\205\214\354\212\244\355\212\270_6\353\262\210.py" "b/cmkim/SCOFE_1\354\260\250\355\205\214\354\212\244\355\212\270_6\353\262\210.py" new file mode 100644 index 0000000..1f91d6d --- /dev/null +++ "b/cmkim/SCOFE_1\354\260\250\355\205\214\354\212\244\355\212\270_6\353\262\210.py" @@ -0,0 +1,13 @@ +n, m = map(int, input().split()) + +arr = [[0]*n for _ in range(m)] +dp = [[0]*(n+1) for _ in range(m+1)] + +for i in range(m): + arr[i] = list(map(int, input().split())) + +for i in range(m): + for j in range(n): + dp[i+1][j+1] = arr[i][j] + max(dp[i][j+1], dp[i+1][j]) + +print(dp[m][n]) \ No newline at end of file diff --git "a/cmkim/SCOFE_\353\252\250\354\235\230\355\205\214\354\212\244\355\212\270_\352\267\274\353\254\265\354\236\220\355\235\221.py" "b/cmkim/SCOFE_\353\252\250\354\235\230\355\205\214\354\212\244\355\212\270_\352\267\274\353\254\265\354\236\220\355\235\221.py" new file mode 100644 index 0000000..6f270d0 --- /dev/null +++ "b/cmkim/SCOFE_\353\252\250\354\235\230\355\205\214\354\212\244\355\212\270_\352\267\274\353\254\265\354\236\220\355\235\221.py" @@ -0,0 +1,18 @@ +# -*- coding: utf-8 -*- +# UTF-8 encoding when using korean +n, k = map(int, input().split()) +arr = list(map(int, input().split())) + +min = 1000000 +index = 0 + +for i in range(n): + if min > arr[i]: + min = arr[i] + index = i + +result = (n-1) //(k-1) +if (n-1) % (k-1) != 0: + result += 1 + +print(result) diff --git "a/cmkim/SCOFE_\353\252\250\354\235\230\355\205\214\354\212\244\355\212\270_\354\202\254\354\235\200\355\222\210\352\265\220\355\231\230\355\225\230\352\270\260.py" "b/cmkim/SCOFE_\353\252\250\354\235\230\355\205\214\354\212\244\355\212\270_\354\202\254\354\235\200\355\222\210\352\265\220\355\231\230\355\225\230\352\270\260.py" new file mode 100644 index 0000000..f1b47e7 --- /dev/null +++ "b/cmkim/SCOFE_\353\252\250\354\235\230\355\205\214\354\212\244\355\212\270_\354\202\254\354\235\200\355\222\210\352\265\220\355\231\230\355\225\230\352\270\260.py" @@ -0,0 +1,26 @@ +t = int(input()) + +for _ in range(t): + n, m = map(int, input().split()) + result = 0 + + a = n // 12 + b = m // 7 + + # if b > 0: + # if a > b : + + + + # a = n // 5 + # b = m // 7 + # temp = min(a, b) + # result += temp + # + # n -= 5 * temp + # m -= 7 * temp + # + # + # result += n // 12 + + print(result) diff --git "a/cmkim/\352\263\261\355\225\230\352\270\260\355\230\271\354\235\200\353\215\224\355\225\230\352\270\260_312p.py" "b/cmkim/\352\263\261\355\225\230\352\270\260\355\230\271\354\235\200\353\215\224\355\225\230\352\270\260_312p.py" new file mode 100644 index 0000000..3903396 --- /dev/null +++ "b/cmkim/\352\263\261\355\225\230\352\270\260\355\230\271\354\235\200\353\215\224\355\225\230\352\270\260_312p.py" @@ -0,0 +1,14 @@ +arr = [] +arr.append(list(map(int, list(input().rstrip())))) + +n = len(arr[0]) + +result = max(arr[0][0] + arr[0][1], arr[0][0] * arr[0][1]) + +for i in range(2, n): + if arr[0][i] == 0 or arr[0][i] == 1: + result += arr[0][i] + else: + result *= arr[0][i] + +print(result) \ No newline at end of file diff --git "a/cmkim/\353\252\250\355\227\230\352\260\200\352\270\270\353\223\234_311p.py" "b/cmkim/\353\252\250\355\227\230\352\260\200\352\270\270\353\223\234_311p.py" new file mode 100644 index 0000000..47902a9 --- /dev/null +++ "b/cmkim/\353\252\250\355\227\230\352\260\200\352\270\270\353\223\234_311p.py" @@ -0,0 +1,14 @@ +n = int(input()) +arr = list(map(int, input().split())) +arr.sort() + +result = 0 +max = 0 + +for i in arr: + max += 1 + if max == i: + result += 1 + max = 0 + +print(result) \ No newline at end of file diff --git "a/cmkim/\353\254\270\354\236\220\354\227\264\353\222\244\354\247\221\352\270\260_313p.py" "b/cmkim/\353\254\270\354\236\220\354\227\264\353\222\244\354\247\221\352\270\260_313p.py" new file mode 100644 index 0000000..f16666a --- /dev/null +++ "b/cmkim/\353\254\270\354\236\220\354\227\264\353\222\244\354\247\221\352\270\260_313p.py" @@ -0,0 +1,12 @@ +arr = [] +arr.append(list(map(int, input().rstrip()))) + +count = 0 +temp = arr[0][0] + +for i in range(len(arr[0])): + if temp != arr[0][i]: + temp = arr[0][i] + count += 1 + +print(count//2) \ No newline at end of file