Skip to content

Commit 0f47243

Browse files
Merge pull request #530 from jihye1006/main
[최지혜] 65차 라이브코테 제출
2 parents e13804b + 3571004 commit 0f47243

File tree

3 files changed

+54
-0
lines changed

3 files changed

+54
-0
lines changed

live6/test65/문제1/최지혜.py

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
def count(lst):
2+
cnt = ans = 1
3+
for i in range(1, len(lst)):
4+
if lst[i]==lst[i-1]:
5+
cnt+=1
6+
ans = max(ans, cnt)
7+
else:
8+
cnt=1
9+
return ans
10+
11+
def solve(arr):
12+
mx = 0
13+
for i in range(N-1):
14+
for j in range(0,N):
15+
# 오른쪽 사탕과 교환
16+
arr[i][j],arr[i][j+1]=arr[i][j+1],arr[i][j]
17+
mx = max(mx, count(arr[i]))
18+
arr[i][j],arr[i][j+1]=arr[i][j+1],arr[i][j]
19+
20+
# 아래쪽 사탕과 교환
21+
arr[i][j],arr[i+1][j]=arr[i+1][j],arr[i][j]
22+
mx = max(mx, count(arr[i]),count(arr[i+1]))
23+
arr[i][j],arr[i+1][j]=arr[i+1][j],arr[i][j]
24+
return mx
25+
26+
N = int(input())
27+
arr = [list(input())+[0] for _ in range(N)]+[[0]*(N+1)]
28+
arr_t = list(map(list, zip(*arr)))
29+
ans = max(solve(arr), solve(arr_t))
30+
print(ans)

live6/test65/문제2/최지혜.py

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
import sys
2+
n = int(sys.stdin.readline())
3+
board = [[] for _ in range(n)]
4+
5+
for i in range(n):
6+
board[i] = list(map(int,sys.stdin.readline().split()))
7+
8+
# DP 사용
9+
dp = [0 for i in range(n+1)]
10+
for i in range(n-1,-1,-1):
11+
if i + board[i][0] > n:
12+
dp[i] = dp[i+1]
13+
else:
14+
dp[i] = max(board[i][1] + dp[i + board[i][0]], dp[i+1])
15+
16+
print(dp[0])

live6/test65/문제3/최지혜.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
def solution(s):
2+
stack = []
3+
for i in s:
4+
if len(stack) == 0: stack.append(i)
5+
elif stack[-1] == i: stack.pop()
6+
else: stack.append(i)
7+
if len(stack) == 0: return 1
8+
else: return 0

0 commit comments

Comments
 (0)