[baekjoon] 14500. 테트로미노
로직 시작점을 옮기면서 그림을 돌려가면서 합계를 구하고, 최댓값과 비교한다. 코드 N, M = map(int, input().split()) board = [list(map(int, input().split())) for _ in range(N)] move1 =[[[0,0],[1,0],[2,0],[3,0]], # ㅡ [[0,0],[0,1],[0,2],[0,3]]] move2 = [[[0,0],[0,1],[1,0],[1,1]]] # 네모 move3 =[[[0,0],[1,0],[2,0],[2,-1]], # ㄴ [[0,0],[0,-1],[1,0],[2,0]], [[0,0],[1,0],[2,0],[2,1]], [[0,0],[1,0],[2,0],[0,1]], [[0,0],[0,-1],[0,-2],[1,0]], [..
더보기
[programmers] 카카오프렌즈 컬러링북
코드 from collections import deque from copy import deepcopy def solution(m, n, picture): near = [(0, 1), (1, 0), (0, -1), (-1, 0)] # visit = [[0 for _ in range(n)] for _ in range(m)] pic = deepcopy(picture) # print(visit) mymax = 0 q = deque() cnt = 0 result = [] for i in range(m): for j in range(n): if picture[i][j] != 0: q.append([i, j]) cnt += 1 answer = 0 while q: x, y = q.popleft() temp = pi..
더보기
[programmers] 가장 큰 수
로직 1. 숫자마다 첫번째 오는 숫자가 큰 것부터 나열하면 된다 -> [6, 10, 2, 11]이면 [6, 2, 11, 10]이 되도록. - 처음에는 하나하나 비교하려했는데,, 쉽지 않을것같아서 자리수를 맞추고 비교하려고 한다. - numbers의 원소가 0이상 1000이하이니까 만단위로 바꾸기 - 이후 sort해서 join으로 붙이기 코드 def solution(numbers): numbers = list(map(str, numbers)) check = [] if ''.join(numbers) == '0' * len(numbers): # print('yes') return '0' for number in numbers: if len(number) == 4: check.append((number, num..
더보기