알고리즘 32

[BOJ] 백준 1520번: 내리막 길

https://www.acmicpc.net/problem/1520 1520번: 내리막 길 여행을 떠난 세준이는 지도를 하나 구하였다. 이 지도는 아래 그림과 같이 직사각형 모양이며 여러 칸으로 나뉘어져 있다. 한 칸은 한 지점을 나타내는데 각 칸에는 그 지점의 높이가 쓰여 있으 www.acmicpc.net dp 문제입니다. 다만, 가능한 이동방향이 "상하좌우"이므로 bottom-up 방식으로 탐색하기엔 어려움이 있습니다. 따라서 top-down 방식으로 구현하였습니다. #include using namespace std; int M, N, a[501][501], cache[501][501]; int dx[4] = {0, 0, -1, 1}; int dy[4] = {-1, 1, 0, 0}; int solve..

알고리즘/BOJ 2023.05.17

[BOJ] 백준 11048번: 이동하기

https://www.acmicpc.net/problem/11048 11048번: 이동하기 준규는 N×M 크기의 미로에 갇혀있다. 미로는 1×1크기의 방으로 나누어져 있고, 각 방에는 사탕이 놓여져 있다. 미로의 가장 왼쪽 윗 방은 (1, 1)이고, 가장 오른쪽 아랫 방은 (N, M)이다. 준규는 www.acmicpc.net 백준 난이도 실버 2의 기본적인 dp 문제입니다. #include using namespace std; int N, M, board[1001][1001], dp[1001][1001]; int main(){ ios::sync_with_stdio(0); cin.tie(0); cin >> N >> M; for(int i = 1; i board[i][j]; } } for(int i = 1; i

알고리즘/BOJ 2023.03.09

[프로그래머스] 등굣길

https://school.programmers.co.kr/learn/courses/30/lessons/42898 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 프로그래머스 코딩 테스트 고득점 Kit에 포함된 Level 3 DP 문제입니다. #include #include using namespace std; const int MOD = 1000000007; int x, y, dp[101][101]; bool flag[101][101]; void init(vector& puddles){ for(vector puddle : puddles){ x = pudd..

[프로그래머스] 정수 삼각형

https://school.programmers.co.kr/learn/courses/30/lessons/43105 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 프로그래머스 코딩 테스트 고득점 Kit에 포함된 Level 3 DP 문제입니다. [BOJ] 백준 1932번: 정수 삼각형과 동일한 문제입니다. (https://www.acmicpc.net/problem/1932) #include #include #include using namespace std; int tri[501][501], dp[501][501], n; void init(vector& tr..

[프로그래머스] 순위

https://school.programmers.co.kr/learn/courses/30/lessons/49191 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 프로그래머스 코딩 테스트 고득점 Kit에 포함된 Level 3 그래프 문제입니다. #include #include #include using namespace std; int preN, nxtN; vector AL[101], reverseAL[101]; queue q; int getPreN(int r){ int res = 0; vector vis(101); q.push(r); vis[r] = 1;..

[프로그래머스] 가장 먼 노드

https://school.programmers.co.kr/learn/courses/30/lessons/49189 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 프로그래머스 코딩 테스트 고득점 Kit에 포함된 Level 3 그래프 문제입니다. #include #include #include #include using namespace std; queue q; int depth[20001]; vector AL[20001]; void init(vector& edge){ for(vector v : edge){ AL[v[0]].push_back(v[1]); AL..

[LeetCode] Binary Search

https://leetcode.com/problems/binary-search/ Binary Search - LeetCode Can you solve this real interview question? Binary Search - Given an array of integers nums which is sorted in ascending order, and an integer target, write a function to search target in nums. If target exists, then return its index. Otherwise, return -1. leetcode.com 앞선 포스트 'LeetCode Plan'에서 소개한 Blind 75에 속하는 문제는 아니고 업데이트 버전..