www.acmicpc.net/problem/14725 14725번: 개미굴 첫 번째 줄은 로봇 개미가 각 층을 따라 내려오면서 알게 된 먹이의 정보 개수 N개가 주어진다. (1 ≤ N ≤ 1000) 두 번째 줄부터 N+1 번째 줄까지, 각 줄의 시작은 로봇 개미 한마리가 보내준 먹이 www.acmicpc.net 트라이 자료구조라는 것을 새로 접하게 되었다. 트라이 자료구조란, string을 트리모양으로 만들어 트리를 탐색하며 string을 만드는 자료구조이다. (참고 : twpower.github.io/187-trie-concept-and-basic-problem) 위 문제는 트라이 자료구조에 필요한 모든 것을 구할 필요는 없으나, 삽입 함수 정도만 구하면 됩니다. 코드는 다음과 같습니다. #includ..
www.acmicpc.net/problem/1637 1637번: 날카로운 눈 첫째 줄에 입력의 개수 N이 주어진다. N은 1이상 20,000이하인 수이다. 그 다음 줄부터 N줄에 걸쳐 세 개의 정수 A, C, B가 주어지는데, 이것은 A, A+B, A+2B, ..., A+kB (단, A+kB ≦ C) 의 정수들이 정수더미 www.acmicpc.net 가능한 입력이 MAX_INT 까지이므로 하나하나 개수를 세면 시간을 초과합니다. log n으로 찾을만한 이분 탐색을 사용하려 했지만 아이디어가 떠오르지 않아 www.acmicpc.net/board/view/18341 글을 참고했습니다. f(x) 를 입력에 대해 x 이하의 수의 개수라고 합니다. x 이하의 수의 개수는 i번째 입력에 대해 a>x 일 때 0개, ..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/4UHOy/btq0Y3KgzhY/469uCne7HDS1tNplvioAe1/img.png)
딥러닝을 활용한 암호 알고리즘 판별이라는 프로젝트를 본격적으로 시작하였습니다. 여러 데이터셋을 만들고 관련 내용을 공부하다 보니 느낀 점은 과연 이게 가능할까?입니다. ㅎㅎㅎ (암호학도 어렵고 딥러닝도 어려워어어어) 간단하게 python의 pycrypto 모듈을 이용해 암호화를 진행해보겠습니다. 참고 : www.programmersought.com/article/55045025094/ 우선 필요한 라이브러리와 모듈을 설치합니다. 그리고 암호화 시킬 파일의 경로를 가져옵니다. (bmp : bitmap 파일, 이걸로 굳이 변환 안해도 됨. jpg로 해도 괜찮음.) # 라이브러리로 이미지 암호화 해보기 from PIL import Image from tensorflow import keras import ra..
www.acmicpc.net/problem/9376 9376번: 탈옥 상근이는 감옥에서 죄수 두 명을 탈옥시켜야 한다. 이 감옥은 1층짜리 건물이고, 상근이는 방금 평면도를 얻었다. 평면도에는 모든 벽과 문이 나타나있고, 탈옥시켜야 하는 죄수의 위치도 나타 www.acmicpc.net 설계도가 주어져있을 때 최소 문을 몇 개 열어 탈옥시킬 수 있는 지 구하는 문제입니다. 상근이가 감옥 바깥을 자유롭게 돌아다니므로 상근이가 (0,0)에 있는 죄수라 가정하고, 감옥 바깥을 모두 ' . '으로 채워줍니다. 특정 위치에 3명의 죄수가 그 위치에 도달할 수 있다면, 그 위치를 지나는 경로는 3명 모두에게 존재하는 것입니다. (이걸 처리 안 해서 계속 틀리고 있었다....) 해당 죄수들에 대해 죄수들이 해당 위치로..
www.acmicpc.net/problem/13549 13549번: 숨바꼭질 3 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 www.acmicpc.net 수빈이와 동생의 위치가 주어져있을 때 수빈이가 최소 몇 번만에 동생한테 갈 수 있는지 구하는 문제입니다. 수빈이가 이동하는 경로는 현재 위치 +1 , -1, *2 인데, *2로 이동하는 경우는 0초, 나머지는 1초가 걸립니다. 현재 위치가 N일 때, 이동 가능한 위치는 N+1, N-1, N*2 3가지 이므로 3가지 위치에 대해 bfs를 진행하면 됩니다. 주의할 점은 이미 이동했..