백준알고리즘 1874번, 스택 수열

이번 문제에서는 스택을 클래스로 만들어 사용했다. 1n까지의 수로 이루어진 수열을 스택을 이용해 재현해내는 문제이다. push를 할때는 1부터 순서대로 진행된다. 1n까지 순서대로 push가 되기 때문에 수열을 재현해내기 불가능한 경우도 나온다. 만약 수열이 일부분이 5, 3 일 경우 5를 pop한 후에 바로 3을 pop하는 것은 불가능하다.(이전 단계에서 4를 pop해 놓지 않은 경우) 일반적으로 고려를 하자면 임의의 k를 pop한 경우 그 다음에 k를 넘어서는 값들이 올 경우 그만큼 push한 후에 pop을 하면 문제가 되지 않지만 k-1보다 작은 값들이 온다면 재현이 불가능한 경우가 된다. 아래 코드의 특이한 점은 변수를 이용해 1부터 n까지 순서대로 push한것이 아니라, 1~n까지의 값을 스택에 넣어 넣고 하나씩 pop하면서 사용했다. 스택 2개를 만들어 사용하는 것을 확인할 수 있을것이다. 전략: m을 pop해야 하는 경우 top이 m보다 작다면 m까지 push한후 pop. 크다면 불가능. ...

12월 23, 2017 · Jaejin Jang

백준알고리즘 1932번, 숫자삼각형

피라미드 형태의 삼각형이 주어질때 아래로 내려가면서 최대의 값을 찾는 문제입니다 전략 : 별다른 전략 필요가 없네요 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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 #include <stdio.h> #include <string.h> using namespace std; int dp[500][500]; int main(void) { memset(dp, -1, 0); int t; int max = -1; #ifndef ONLINE_JUDGE freopen("input.txt", "r", stdin); freopen("output.txt", "w", stdout); #endif scanf("%d", &t); for (int i = 0; i < t; i++) { for(int j=0;j<i+1;j++) scanf("%d", &dp[i][j]); } for (int i = 1; i < t; i++) { for (int j = 0; j < i + 1; j++) { if (j == 0) { dp[i][j] = dp[i][j] + dp[i-1][j]; } else if (j == i) { dp[i][j] = dp[i][j] + dp[i-1][j-1]; } else { dp[i][j] = dp[i][j] + (dp[i - 1][j] > dp[i - 1][j - 1] ? dp[i - 1][j] : dp[i - 1][j - 1]); } } } for (int i = 0; i < t; i++) { if (dp[t - 1][i] > max) max = dp[t - 1][i]; } printf("%d\n", max); #ifndef ONLINE_JUDGE fclose(stdin); fclose(stdout); #endif return 0; }

12월 23, 2017 · Jaejin Jang

백준알고리즘 1991번, 트리 사용하기

그래프와 트리쪽 알고리즘이 약해서 요즘 이 파트를 공부하고있습니다. 2진 트리의 원소를 입력받아 순회 종류별로 출력해주는 문제입니다. 재귀적으로 깔끔하게 푸는 것이 중요하겠죠! ...

12월 23, 2017 · Jaejin Jang

백준알고리즘 2750번, 수 정렬하기

1~N 까지의 수를 임의로 입력 받아 정렬하는 문제 입니다. 버블, 삽입, 선택 정렬 3가지를 이용해 풀어봤습니다. 버블 정렬만 알고 있었는데 이번 기회로 삽입, 선택 정렬에 대해서 알게 되었네요. Bin-O로 표기할 경우 시간복잡도는 모두 n^2 으로 동일합니다. ...

12월 23, 2017 · Jaejin Jang

백준알고리즘 7576번, 토마토

토마토의 상태가 행렬로 주어질 때, 모든 토마토가 익는데 걸리는 시간을 구하는 문제입니다. 큐를 이용해서 BFS로 풀었습니다. 공부많이 됐네용. 입력값이 행렬로 주어져서 인접행렬로 풀었는데, 다음에는 인접 리스트로 푸는 문제를 도전해보겠습니다 ...

12월 23, 2017 · Jaejin Jang

소망(진정 바라는 것) - 맥스 어만(Max Ehrmann)

진정 바라는 것 -맥스 어만 소란스럽고 바쁜 일상속에서도 침묵 안에 평화가 있다는 사실을 기억하십시오 포기하지 말고 가능한한 모든 사람들과 잘 지내도록 하십시오 조용하면서도 분명하게 진실을 말하고 어리석고 무지한 사람들의 말에도 귀를 기울이십시오 그들 역시 할 이야기가 있을테니까요 ...

12월 23, 2017 · Jaejin Jang

스며드는 것 - 안도현

스며드는 것 - 안도현 꽃게가 간장 속에 반쯤 몸을 담그고 엎드려 있다 등판에 간장이 울컥울컥 쏟아질 때 꽃게는 뱃속의 알을 껴안으려고 꿈틀거리다가 더 낮게 더 바닥 쪽으로 웅크렸으리라 ...

12월 23, 2017 · Jaejin Jang

용기 - 이규경

넌 충분히 할 수 있어 사람들이 말했습니다. 용기를 내야해 사람들이 말했습니다. 그래서 나는 용기를 내었습니다. 용기를 내서 이렇게 말했습니다. 나는 못해요. 용기에 대한 인식 전환 ...

12월 23, 2017 · Jaejin Jang

우리의 사랑의 섬광을... - 윌리엄 블레이크

우리는 사랑의 성괌을 견디는 법을 배우기 위해 잠시 지상에 머문다

12월 23, 2017 · Jaejin Jang

의자에 어울리는 사람이 되기 위해 - 이원

의자에 어울리는 사람이 되기 위해 곧추 세운 등뼈 아래로 엉덩이를 엉거주춤 유지해야 하는 이 포즈는 도대체 무엇입니까 각자의 배후를 전적으로 위탁하는 포즈를 우리는 언제부터 배워야 했습니까 의자에 어울리는 사람이 되기 위해 어디부터 구부려야 했습니까 어디를 숙여야 했습니까 ...

12월 23, 2017 · Jaejin Jang