www.acmicpc.net/problem/1949 1949번: 우수 마을 N개의 마을로 이루어진 나라가 있다. 편의상 마을에는 1부터 N까지 번호가 붙어 있다고 하자. 이 나라는 트리(Tree) 구조로 이루어져 있다. 즉 마을과 마을 사이를 직접 잇는 N-1개의 길이 있으며, www.acmicpc.net 트리 구조로 이루어진 마을에서 우수마을을 주민의 최대값으로 고르는 문제입니다. 조건은 다음과 같습니다. 1. 우수마을의 주민의 수 합을 최대로 한다. 2. 우수마을끼리는 인접이 불가하다. 3. 우수마을이 아닌 마을은 적어도 하나의 우수마을과 인접하다. 처음에 풀 때는 3번의 적어도라는 조건을 안 보고 풀어 그냥 depth별로 홀,짝 구분해서 합이 최대치인 것을 뽑으면 될 줄 알았지만, 적어도 하나의 우..
www.acmicpc.net/problem/1005 1005번: ACM Craft 첫째 줄에는 테스트케이스의 개수 T가 주어진다. 각 테스트 케이스는 다음과 같이 주어진다. 첫째 줄에 건물의 개수 N 과 건물간의 건설순서규칙의 총 개수 K이 주어진다. (건물의 번호는 1번부 www.acmicpc.net 전형적인 위상정렬 문제였습니다. 위상정렬은 일의 순서를 어기지 않으면서 노드를 정렬하는 알고리즘입니다. 설명한 내용은 ghqls0210.tistory.com/96 에 있습니다. 상위 노드가 완료된 노드면 하위 노드의 결과는 상위 노드 결과 + 하위 노드의 가중치 중 최댓값임을 쉽게 이해할 수 있습니다. 코드는 다음과 같습니다. #include #include #include #include #include..
케라스를 이용하여 간단한 RNN, LSTM 모델을 설계해보겠습니다. 시계열 데이터 분석에 중요한 RNN, LSTM의 기본 구조를 활용하여 간단하게 구현만 해보았습니다. (참고 : 핸즈온 머신러닝 2판) import tensorflow as tf """ 간단한 RNN 구조 keras의 SimpleRNN 에서는 기본적으로 tanh를 활성화 함수로 사용 RNN의 경우 입력 데이터의 길이에 상관 없이 time step 처리할 수 있기 때문에 input_shape=[None, 1] return_sequence=True : time step마다 출력 return 하지 않으면 마지막 time step의 결과만 출력 다음 layer를 RNN 구조 이용하려면 return_sequence=True 해야함 마무리로 Dens..
www.acmicpc.net/problem/1339 1339번: 단어 수학 첫째 줄에 단어의 개수 N(1 ≤ N ≤ 10)이 주어진다. 둘째 줄부터 N개의 줄에 단어가 한 줄에 하나씩 주어진다. 단어는 알파벳 대문자로만 이루어져있다. 모든 단어에 포함되어 있는 알파벳은 최대 www.acmicpc.net 주어진 문자열에 숫자 0~9를 대입하여 합이 최대로 나오게 만들면 된다. 긴 문자열 순으로 앞에서부터 9부터 넣어가면 된다. 하지만 하나 주의할 점은 BAA, AAA 와 같은 경우 A에 9를 넣어야 하지만, 순서대로 하면 B에 9를 넣을 수도 있다. 그래서 우선 각 알파벳 별로 dict를 이용해 가능한 10의 거듭제곱으로 값을 만들어주었다. AAA의 경우 dict['A']에 111을 더하게 된다. 그리고 ..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/uPPHI/btqZFsQBhpE/cjN0Kymk3N3Q0wg0SirchK/img.png)
밑바닥부터 시작하는 딥러닝 책을 이용하여 딥러닝의 기본 구조를 공부했습니다. 하지만 numpy만 가지고 사용하기에는 효율이 떨어지기에 tensorflow2를 이용해 간단한 실습을 하겠습니다. 컴파일은 구글 코랩을 이용하였습니다. 구글 코랩에는 기본적으로 tensorflow와 pytorch 모두 지원하기에 엄청 큰 데이터셋을 이용하는 것이 아니라면 아주 훌륭한 도구입니다. (12시간 지나면 세션이 꺼져서 며칠 씩 돌리는 용으로는 부적합....) MNIST는 유명한 손글씨 데이터입니다. 0~9까지 손글씨 데이터를 지원합니다. tensorflow의 keras.datasets 에는 mnist 데이터 파일을 지원합니다. 조금 색다르지만, 간단한 데이터로는 fashion_mnist 도 있습니다. (이 또한 지원) ..