전체보기 (168) 썸네일형 리스트형 백준 5427 불 https://www.acmicpc.net/problem/5427 5427번: 불 문제 상근이는 빈 공간과 벽으로 이루어진 건물에 갇혀있다. 건물의 일부에는 불이 났고, 상근이는 출구를 향해 뛰고 있다. 매 초마다, 불은 동서남북 방향으로 인접한 빈 공간으로 퍼져나간다. www.acmicpc.net BFS를 이용한 간단한 구현문제이다. /* 불 */ #include #include #include #include #include #define EMPTY '.' #define WALL '#' #define SANGEUN '@' #define FIRE '*' using namespace std; int W, H; int dr[4] = { -1,0,1,0 }; int dc[4] = { 0,1,0,-1 }; v.. 백준 17144 미세먼지 안녕! https://www.acmicpc.net/problem/17144 17144번: 미세먼지 안녕! 미세먼지를 제거하기 위해 구사과는 공기청정기를 설치하려고 한다. 공기청정기의 성능을 테스트하기 위해 구사과는 집을 크기가 R×C인 격자판으로 나타냈고, 1×1 크기의 칸으로 나눴다. 구사 www.acmicpc.net 간단하진 않은 구현문제다. 문제에 주어진 조건대로 구현하면 된다... /* 미세먼지 안녕! */ #include #include #define MAX_N 50 + 1 using namespace std; void input(); void solve(); int R, C, T; int A[50 + 1][50 + 1]; int dr[4] = { -1,0,1,0 }; int dc[4] = { 0,1,.. 백준 2213 트리의 독립집합 https://www.acmicpc.net/problem/2213 2213번: 트리의 독립집합 첫째 줄에 트리의 정점의 수 n이 주어진다. n은 10,000이하인 양의 정수이다. 1부터 n사이의 정수가 트리의 정점이라고 가정한다. 둘째 줄에는 n개의 정수 w1, w2, ..., wn이 주어지는데, wi는 정점 i의 �� www.acmicpc.net 너무 어려웠다... 트리 DP를 쓰는 문제였다. 트리 DP의 기본 구조는 이렇게 생겼다. int treeDp(int curr, int before){ for(int i = 0; i < edge[curr].size(); i++){ int nxt = edge[curr][i]; if(nxt == before) continue; treeDp(nxt, curr); dp.. [NodeJS] 로그 남기는 Winston, 그리고 morgan과 결합 프로그래밍을 하면서 장애가 나지 않는 게 가장 좋지만, 그럴 수는 없다. 분명 장애는 나기 마련이다!! 그럴 때 로그가 없다면... 좌절하고 말 것이다. 에러가 난 원인을 파악할 수 없기 때문에 당장 문제를 해결하기도 어려울 뿐더러 재발 방지도 힘들기 때문이다. NodeJS에도 Winston이라는 로그 모듈이 있다. 가장 많이 쓰인다. 프로젝트는 아래 프로젝트를 사용한다. 청소년이 참여적으로 문학을 하길 바라는 마음으로 만들고있는 프로젝트다. 관심있는 분은 함께 해 주시라! https://github.com/JaeMiGarden/MunhakMap JaeMiGarden/MunhakMap Contribute to JaeMiGarden/MunhakMap development by creating an acco.. 백준 7579 앱 https://www.acmicpc.net/problem/7579 7579번: 앱 입력은 3줄로 이루어져 있다. 첫 줄에는 정수 N과 M이 공백문자로 구분되어 주어지며, 둘째 줄과 셋째 줄에는 각각 N개의 정수가 공백문자로 구분되어 주어진다. 둘째 줄의 N개의 정수는 현재 활�� www.acmicpc.net DP와 Knapsack이 결합된 문제이다. 이 문제가 Knapsack 문제라는 걸 파악하기만 한다면, 푸는 거 자체는 그리 어렵지 않다고 생각한다. 보통 최대 Cost를 Column으로 하고 각각의 배낭(여기서는 앱)을 Row로 하기때문에 이 문제의 최대 M이 1,000,000 이므로 KnapSack 문제가 아니라고 생각했었다. KnapSack의 시간복잡도는 O(N * M) 즉 100 * 1,000,.. [Spring] Annotation을 알아보자 - 2. Annotation은 어떻게 처리될까? 이번 글은 https://medium.com/@jintin/annotation-processing-in-java-3621cb05343a의 도움을 많이 받았습니다. 1. 우선 Class나 Methods, parameters 혹은 Annotation의 Annotation에 따라 Annotation Class를 만든다. 2. Annotation Parser Classes를 생성한다. 3. Project에 Annotation들을 추가한다. 4. Compile을 시작하고 Annotation parser가 Annotation을 관리한다. 5. 자동 생성된 클래스들이 build 폴더에 추가된다. 예를 들어봅시다. @Controller // Controller Annotation이 있으면 관련 객체를 생성해서 Spri.. [Spring] Annotation을 알아보자 - 1. 기본 개념과 직접 해보기 스프링에 입문한 Jay는 역시나 스프링 내부구조를 뜯어보는 것에 흥미가 생겼다. 이 글은 https://dzone.com/articles/how-annotations-work-java를 참고했다. DZone에 재밌는 글이 많다. (실력자 볼 때마다 두근거린다. 마치 2대 600치는 장미란 선수를 볼 때의 헬스 빌런의 마음이랄까) How Do Annotations Work in Java? - DZone Java Let's discuss what annotations are, how they work, how to write custom annotations (with example code), valid scenarios for annotations, and lastly, annotations and AD.. 백준 2352 반도체 설계 https://www.acmicpc.net/problem/2352 2352번: 반도체 설계 첫째 줄에 정수 n(1 ≤ n ≤ 40,000)이 주어진다. 다음 줄에는 차례로 1번 포트와 연결되어야 하는 포트 번호, 2번 포트와 연결되어야 하는 포트 번호, …, n번 포트와 연결되어야 하는 포트 번호가 주 www.acmicpc.net LIS 알고리즘 문제다. 밑의 알고리즘에서 이진탐색을 이용해서 idx 값을 구했기 때문에 탐색에 O(logN)이고 N개의 숫자에 대해 이 탐색을 실행하기 때문에 O(NlogN)이다. 이 문제는 LIS를 구할 때 "어떤 수열이 LIS인가?"를 묻지 않았기 때문에 그냥 개수만 찾았다. 그러면 arr에 들어있는 수열은 실제 LIS와 다를 확률이 아주아주 높다. 추적을 할 때는 ind.. 백준 1918 후위 표기식 https://www.acmicpc.net/problem/1918 1918번: 후위 표기식 첫째 줄에 중위 표기식이 주어진다. 단 이 수식의 피연산자는 A~Z의 문자로 이루어지며 수식에서 한 번씩만 등장한다. 그리고 -A+B와 같이 -가 가장 앞에 오거나 AB와 같이 *가 생략되는 등의 수식�� www.acmicpc.net 후위 표기식을 하는 것 주의할 점은 우선순위가 낮은 연산자일수록 Stack에 오래 남아있어야 한다. 그래야 나ㅏㅏㅏ중에 나오게 된다. 코드를 보면 무슨 말인지 확 이해될 것이다. *나 /가 등장하면 stack에서 *나 / 이외의 연산자를 만날 때까지 pop을 하고 결과 문자열에 더해준다. 그 결과 '(' 와 '+' '-'는 stack에서 pop 되지 않는다. /* 후위 표기식 */ #.. 백준 9252 LCS2 https://www.acmicpc.net/problem/9252 9252번: LCS 2 LCS(Longest Common Subsequence, 최장 공통 부분 수열)문제는 두 수열이 주어졌을 때, 모두의 부분 수열이 되는 수열 중 가장 긴 것을 찾는 문제이다. 예를 들어, ACAYKP와 CAPCAK의 LCS는 ACAK가 된다. www.acmicpc.net LCS 알고리즘을 사용하는 간단한 문제 /* LCS2 */ #include #include #include #define N 1 #define NS 2 #define W 3 using namespace std; pair map[1000 + 1][1000 + 1]; int main(void) { ios_base::sync_with_stdio(false.. 이전 1 ··· 10 11 12 13 14 15 16 17 다음