pre-course 들으랴 코테 하랴 바쁜 나날
담주부터 유럽도 여행 가게 되서 계획도 세우고 매일이 전쟁통이다 ~🙄
꾸준히 코테 풀고 강의도 보고 해서 naver 부캠 할 수 있도록..!
def solution(land):
answer = 0
for i in range(1, len(land)):
for j in range(4):
score = land[i][j]
for k in range(4):
if k == j:
continue
land[i][j] = max(land[i][j], score + land[i-1][k])
return max(land[-1])
< 풀이 과정 >
음 제일 앞선 행부터 최댓값을 다음 행에 동일 인덱스 제외하고 추가하는 문제
from collections import Counter
def solution(k, tangerine):
box = 0
counting = sorted(Counter(tangerine).values(), reverse = True)
for i in counting:
if k <= 0:
break
k -= i
box += 1
return box
< 풀이 과정 >
최근 자료구조로 배운 Counter를 이용하였다.
def solution(m, n, board):
answer = 0
for i in range(len(board)):
board[i] = list(board[i])
while True:
check = [[0]*n for _ in range(m)]
for i in range(m-1):
for j in range(n-1):
if board[i][j] == board[i+1][j] and board[i][j] == board[i][j+1] and board[i][j] == board[i+1][j+1] and board[i][j] != False:
check[i][j], check[i+1][j], check[i][j+1], check[i+1][j+1] = 1, 1, 1, 1
block = 0
for i in range(m):
block += sum(check[i])
answer += block
if block == 0:
break
for i in range(m-1, -1, -1):
for j in range(n):
if check[i][j] == 1:
x = i-1
while x >= 0 and check[x][j] == 1:
x -= 1
if x < 0:
board[i][j] = False
else:
board[i][j] = board[x][j]
check[x][j] = 1
return answer
< 풀이 과정 >
def solution(dirs):
visited = set()
y, x = 0, 0
direction = {'U': (1,0), 'D':(-1,0), 'R':(0,1), 'L':(0,-1)}
for d in dirs:
dy, dx = direction[d]
nx = x + dx
ny = y + dy
if -5 <= ny <= 5 and -5 <= nx <= 5:
visited.add(((y,x), (ny,nx)))
visited.add(((ny,nx), (y,x)))
y = ny
x = nx
return len(visited) // 2
< 풀이 과정 >