전체 글
-
BOJ 3025: 돌 던지기 (미해결)공부(Archive)/BOJ 2020. 5. 13. 14:50
https://www.acmicpc.net/problem/3025 3025번: 돌 던지기 문제 이 모든 사건의 시작은 2주 전이었다. 그 날 상근이는 복도에 누워서 잠을 자고 있었다. 커다란 돌을 들고 그 옆을 지나가던 민혁이는 복도에서 잠을 자는 사람을 처음봐서 신기하게 쳐다보 www.acmicpc.net 최근 구현능력이 많이 떨어지는 것을 느껴 시뮬레이션/구현 문제를 풀던 중 재밌는 문제를 찾았다. 간단하게 요약하자면 위에서 돌을 떨어뜨렸을 때 돌을 적절히 굴려주고 최종 결과를 출력해주는 문제이다. 사실 처음 어떻게 접근할까 고민하던중 최근 set을 이용하여 해결했던 문제가 있어 set을 이용하여 아래와 같은 방법으로 구현하였다. 각 set에는 가장 처음 벽의 위치를 저장한다. 벽의 위치를 저장후 맨..
-
BOJ 1509: 팰린드롬 분할공부(Archive)/BOJ 2020. 5. 6. 20:54
https://www.acmicpc.net/problem/1509 1509번: 팰린드롬 분할 세준이는 어떤 문자열을 팰린드롬으로 분할하려고 한다. 예를 들어, ABACABA를 팰린드롬으로 분할하면, {A, B, A, C, A, B, A}, {A, BACAB, A}, {ABA, C, ABA}, {ABACABA}등이 있다. 분할의 개수의 최솟값을 출력하는 프로그램을 작성하시오. www.acmicpc.net 문제를 간단히 요약하자면 주어진 문자열을 부분 문자열들로 나누는데 모든 부분 문자열이 팰린드롬이어야 한다. 이때 부분 문자열의 최소 개수를 구하는 문제이다. 가장 처음 시도한 방법은 모든 구간 $[l, r]$에 대하여 팰린드롬인가를 확인할 수 있는 배열 $chk[l][r]$을 만들었다. 이후 행렬 곱셈 순..
-
BOJ 3079: 입국심사공부(Archive)/BOJ 2020. 5. 6. 16:50
https://www.acmicpc.net/problem/3079 3079번: 입국심사 문제 상근이와 친구들은 오스트레일리아로 여행을 떠났다. 상근이와 친구들은 총 M명이고, 지금 공항에서 한 줄로 서서 입국심사를 기다리고 있다. 입국심사대는 총 N개가 있다. 각 입국심사관이 심사를 하는데 걸리는 시간은 사람마다 모두 다르다. k번 심사대에 앉아있는 심사관이 한 명을 심사를 하는데 드는 시간은 Tk이다. 가장 처음에 모든 심사대는 비어있고, 심사를 할 준비를 모두 끝냈다. 상근이와 친구들은 비행기 하나를 전세내고 놀러갔기 때문에, 지금 심사 www.acmicpc.net 최근 실패했던 문제들을 다시금 도전해보고 있던 도중 "이 문제가 왜 실패한 문제에 있지?"싶었던 문제가 하나 있었다. 문제의 대략적인 풀..
-
BOJ 10775: 공항공부(Archive)/BOJ 2020. 5. 6. 15:15
https://www.acmicpc.net/problem/10775 10775번: 공항 문제 오늘은 신승원의 생일이다. 박승원은 생일을 맞아 신승원에게 인천국제공항을 선물로 줬다. 공항에는 G개의 게이트가 있으며 각각은 1에서 G까지의 번호를 가지고 있다. 공항에는 P개의 비행기가 순서대로 도착할 예정이며, 당신은 i번째 비행기를 1번부터 gi (1 ≤ gi ≤ G) 번째 게이트중 하나에 영구적으로 도킹하려 한다. 비행기가 도킹된 게이트에는 다른 비행기가 도착할 수 없다. 이러한 사고가 일어나면 공항이 폐쇄되고, 이후 어떤 비행기도 도착할 www.acmicpc.net 요즘 공부를 너무 게을리했기에 간만에 감을 찾고자 BOJ를 켰다. 딱히 눈에 띄는 문제가 없어 단계별로 풀어보기나 차례대로 풀고자 하여 찾..
-
BOJ 2613: 숫자구슬공부(Archive)/BOJ 2020. 2. 20. 15:32
https://www.acmicpc.net/problem/2613 2613번: 숫자구슬 첫째 줄에 구슬의 개수 N과 그룹의 수 M이 주어진다. 둘째 줄에는 각 구슬이 적혀진 숫자가 왼쪽부터 차례로 주어진다. N은 300 이하의 자연수, M은 N이하의 자연수이며, 구슬에 적혀진 숫자는 100 이하의 자연수이다. www.acmicpc.net 처음 문제를 보고 이분 탐색을 이용한다면 문제를 쉽게 해결할 수 있으리라 생각하고 구현한 후 제출하였다. 그 방법은 먼저 최댓값의 최솟값을 결정한 후, 해당 값을 이용하여 배열을 돌며 구간의 합이 해당 값보다 작게 그룹을 만들어서 그 그룹의 수와 주어진 m을 비교하는 방법을 이용하였다. 오랜만에 문제를 풀어서 그런지 테스트 케이스 이외의 다른 케이스들을 고려하지 않고 그..
-
[C++] CMake를 이용한 DLIB 컴파일 및 Visual Studio 2019 연동 (부제: USER_ERROR__inconsistent_build_configuration__see_dlib_faq_2 해결)SWMaestro(Archive) 2019. 8. 11. 01:17
최근 진행하고 있는 프로젝트에서 DLIB를 사용할 일이 있었다. 처음엔 어찌어찌 컴파일을 해내어 .lib 파일을 만들어 사용했었다. 하지만 사용하다보니 CUDA가 활성화가 안되어 있는 것을 깨닫고 재설치를 위해 약 1주일간 삽질을 하다가 드디어 성공하여 포스트를 남긴다. 삽질을 시작하게 된 에러 메세지는 바로 USER_ERROR__inconsistent_build_configuration__see_dlib_faq_2 DLIB를 직접 컴파일 하지 않고 남이 만들어 놓은 (즉 다른 환경에 맞춰 컴파일 된) 라이브러리를 가져다 써서 생기는 문제라고 하는데 직접 컴파일을 해봐도 계속 저런 에러 메세지를 만나 매우 답답한 상황이었다. DLIB에 대한 설명은 영문 위키를 참고하자. https://en.wikiped..
-
BOJ 11439: 이항 계수 5공부(Archive)/BOJ 2019. 7. 10. 18:54
올해들어 알고리즘 공부를 뜸하게 하다가 최근 일주일에 몇 문제씩은 풀게되었다. 이항 계수 4 문제까지는 구글링을 통해 다양한 공식과 정리들을 알게되어 쉽게 해결하였지만 최근 도전했던 이항 계수 5는 도저히 어떠한 공식도 정리도 찾을수가 없었다. 내가 이 문제를 풀기 위해 어떤 방식으로 접근했는지와 결국 풀이를 떠올리고 풀어낸 방법을 소개하고자 한다. 1. 먼저 N제한이 400만이기 때문에 DP를 사용하기에는 너무나도 큰 메모리 공간이 필요하기 때문에, 아마 메모리 공간이 부족하지 않더라도 너무나도 긴 시간이 걸릴 것이기 때문에 불가능하다고 생각했다. 2. 이항 계수 4를 풀기 위해 사용했던 Lucas Theorem을 사용해보고자 했지만 나누는 수가 소수인 경우에만 사용할 수 있으므로 포기했다. 3. 그렇..
-
Pycharm&Anaconda 설치 후 TensorFlow 설치하기(GPU) Windows 10공부(Archive)/ML DL 2019. 7. 10. 18:27
이전 포스팅에서는 Pycharm과 Anaconda를 설치해봤다. 2019/07/10 - [공부/ML DL] - Pycharm 설치하기(Feat. Anaconda) 및 환경설정 Pycharm 설치하기(Feat. Anaconda) 및 환경설정 오늘은 데스크탑에 DL 환경을 구축해보려고 한다. DL 환경을 구축하기에 앞서 2가지 프로그램을 설치해야한다. 1. Pycharm Pycharm은 JetBrains에서 제작한 Python용 IDE로 많이 쓰이는 개발툴중 하나이다. 위키에.. hhahn.tistory.com 이렇게 설치해놓은 Pycharm에 Tensorflow를 설치해보려고 한다. 이전에 노트북에 Python 3.7버전을 설치하고 TensorFlow gpu 버전을 설치하기 위해 며칠동안이나 삽질을 했었다..