[프로그래머스] 가장 큰 정사각형 찾기 (Python)
🍒문제 programmers.co.kr/learn/courses/30/lessons/12905?language=python3 코딩테스트 연습 - 가장 큰 정사각형 찾기 [[0,1,1,1],[1,1,1,1],[1,1,1,1],[0,0,1,0]] 9 programmers.co.kr 🍒풀이 전형적인 DP문제. 처음에 이 문제를 for문을 돌려 풀었더니 O(N^3)의 시간복잡도가 나와 효율성에서 시간초과가 났다. 따라서 시간복잡도를 줄이기 위해서 DP를 적용해서 풀어야한다. 이 문제에서는 메모이제이션(memoization) 기법을 사용하는데, 왼쪽 위에서부터 index를 업데이트를 해준다. 해당 칸 (board[y][x])의 값이 1이면 왼쪽, 위, 대각선왼쪽 위 3부분을 확인해서 가장 작은 값 + 1 로 업데..
2021. 3. 23.
[프로그래머스] 삼각 달팽이 (C++)
🍒문제 삼각달팽이 : programmers.co.kr/learn/courses/30/lessons/68645 코딩테스트 연습 - 삼각 달팽이 5 [1,2,12,3,13,11,4,14,15,10,5,6,7,8,9] 6 [1,2,15,3,16,14,4,17,21,13,5,18,19,20,12,6,7,8,9,10,11] programmers.co.kr 🍒풀이 1. 아래로 이동 2. 오른쪽 이동 3. 왼쪽 위 대각선 이동 위 3가지 이동방향에따라 2차원 배열로 처리를 해준다. 이후 2차원 배열에 있는 값을 1차원 answer 벡터에 차례로 담아주면 끝! 간단하게 생각하는 습관 기르기 !! 🍒코드 #include #include using namespace std; vector solution(int n) { v..
2021. 3. 17.