본문 바로가기

Algorithm/etc111

[파이썬] 프로그래머스 : 가장 큰 정사각형 찾기 (레벨2) [파이썬] 프로그래머스 : 가장 큰 정사각형 찾기 (레벨2)https://school.programmers.co.kr/learn/courses/30/lessons/12905 풀이방향성 생각누적합을 이용해서 반복 계산 줄이기누적합 배열 만들어주고, 큰 정사각형부터 찾을 수 있도록 3중 for문 돌리면서 탈출해주기.N**3이지만 탈출조건이 있어서 괜찮다. 전체코드def solution(arr): H,W = len(arr), len(arr[0]) cumsum = [[0]*(W+1) for _ in range(H+1)] for i in range(H): for j in range(W): cumsum[i+1][j+1] = cumsum[i][j+1] + cumsum[.. 2025. 3. 17.
[파이썬] 프로그래머스 : 수식 최대화 (레벨2) [파이썬] 프로그래머스 : 수식 최대화 (레벨2)https://school.programmers.co.kr/learn/courses/30/lessons/67257 풀이방향성 생각연산자 순서 6개에 대해서 완탐 진행하기 전체코드def solution(expression): table = {"+":0, "-":1, "*":2} # 숫자 / 연산자 파싱 string = '' arr = [] count = [0,0,0] for exp in expression: if exp not in table: string += exp else: count[table[exp]] += 1 arr.append(in.. 2025. 3. 17.
[파이썬] 백준 16985 : Maaaaaaaaaze (골드2) [파이썬] 백준 16985 : Maaaaaaaaaze (골드2)https://www.acmicpc.net/problem/16985풀이순열로 5x5 층 나열하는 방법 5! -> DFS로 구현중복순열로 회전하는 방법 4^5-> 비트필드 이용기존 1을 shift하는 것과 다르게 2자리씩 끊어서 볼거라 총 10자리를 2자리씩 묶는다.3(bin 11)을 rotation 구현 -> 미리 arr_rotated 배열 만들어놓고 회전된 방향별로 구해놓기방향성 생각 전체코드from collections import dequeimport sysinput = lambda: sys.stdin.readline().strip()dires = [(1,0,0),(0,1,0),(-1,0,0),(0,-1,0),(0,0,1),(0,0,-1.. 2025. 3. 14.
[자바] SWEA 2105 : 디저트 카페 (test) [자바] SWEA 2105 : 디저트 카페 (test)SWEA 2105 : 디저트 카페풀이방향성 생각백트래킹맵이 작아서 백트래킹 진행풀이에서는 모서리에서 진행해서 4번 회전하면 나오는 경우로 탐색을 진행했다.시간을 줄이려면, 회전 방향을 정해주고 3번 회전해서 시작점에 돌아오는 경우를 체크해주면 프루닝을 효율적으로 할 수 있다. 전체코드import java.io.*;import java.util.*;public class Solution { static int TC, N, answer; static int[][] arr; static int[][] dires = {{1,-1},{1,1},{-1,1},{-1,-1}}; static HashSet pick = new HashSet(); .. 2025. 3. 9.