일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 백트래킹
- 해커랭크
- 동적 계획법
- 스택
- 소수
- hackerrank
- 다이나믹 프로그래밍
- 잠실
- 완전탐색
- Algorithm
- 구현
- 맛집
- koitp
- 알고리즘
- BFS
- 삼성 기출
- BOJ
- SWEA
- 브루트포스
- sw expert academy
- 시뮬레이션
- PS
- 그리디
- 백준
- DP
- 삼성 SDS 대학생 알고리즘 특강
- 에라토스테네스의 체
- dynamic programming
- C++
- dfs
- Today
- Total
펭로그
문제링크 : https://boj.kr 시뮬레이션 문제로 주어진 조건에 맞게 그대로 풀어내려가면 되는 문제이다.문제 접근 방법은 DFS 방식이랑 크게 차이 없지만 DFS로 풀면 스택이 계속 쌓이기 때문에 이렇게 푸는 편이 더 좋지 않을까 생각한다. 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778// BOJ 14503 로봇 청소기#include #include using namespace std; struct pt{ int x, y, d;}; const int dx[] = {-1, 0, 1, ..
문제링크 : https://boj.kr/7562 (시작점) -> (끝점)까지 나이트가 갈 수 있는 경로의 최단거리를 구하는 문제로 이동 가능한 8방향으로 BFS를 돌리면 풀 수 있다.장애물 없이 오로지 도달만 하면 되기 때문에 방문 체크를 위한 배열 visited만 선언해주었다.방문 조건은 (0,0) ~ (len-1, len-1)의 범위로만 한정하였다. 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960// BOJ 7562 나이트의 이동#include #include #include using namespace std; const int dx[] = {-2,..
문제링크 : https://boj.kr/9465 DP 문제로 아래의 3가지 케이스로 계산할 수 있다. case 1.o xx o case 2.o x xx x o case 3.x x o xo x x o 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647// BOJ 9465 스티커#include #include int max(int a, int b) { return a > b ? a : b;}int max(int a, int b, int c){ return max(max(a, b), c);} using namespace std; int main() { ios_base::sync_with_stdio(false)..
오늘 소개할 곳은 비빔밥 전문점 '새싹'이다.하지만 난 여기서 비빔밥을 먹지 않았다.점심에 가면 비빔밥을 판매하고 저녁에 가면 고기를!! 판다.국회의사당 근처에 어떤 건물 상가 2층에 위치한 곳으로 생각보다 찾기가 어려운 곳이다.하지만 숨어있는 만큼 정말 맛집이라고 추천할 수 있는 곳!!!!! 오늘 주문할 메뉴는 바로 이 왕돌판구이!!!!! 가격대는 아주 양호한 편에 속한다.하지만, 삼겹살 1인분에 15,000원??비싸다고 생각이 들 수 있지만 막상 시켜보면 전혀 아니다!! 이게 바로 그 왕돌판구이다.막상 차림상을 보면 이것저것 꽤나 고기 말고도 부수적인 반찬들이 상당히 많아보인다. 지글지글 고기가 거의 다 익을 때 쯤 김치찌개와 계란찜을 서비스로 준다.그리고 된장국 밑에 막창과 껍데기를!!!! 서비스로..
문제링크 : https://boj.kr/2805 1. 동적계획법(DP)을 이용한 풀이법 : 시간복잡도 O(N)나무의 길이가 제일 큰 것부터 시작하여 한단계씩 내려오면서 누적 합이 입력에서 주어진 값보다 클 때까지 구하는 방법으로 풀었다.입력 받은 값들을 내림차순으로 정렬하고 맨 첫번째 인덱스에 해당하는 값부터 시작하여 1씩 높이를 빼가면서 계산했다. 나무의 높이(arr[N])가 기준 높이(result)보다 높은 부분 까지만 인덱스를 탐색하고 기준 높이 이하(arr[N] - result)가 0 이하인 값들)가 나오면 현재 누적 잘린 나무들의 합이 정답보다 작다면 계속 루프를 진행한다.이때, 높이를 1씩 빼게되면 현재까지 진행해왔던 나무들의 높이가 각각 1씩 추가되기 때문에 sum += ptr 구문을 넣어 ..