전체 글10 [CS 산책] 데이터 압축 (Data Compression) 데이터 압축의 개념 압축? Zip 📁파일을 말하는 건가?Yes, 하지만 우리 일상에 존재하는 압축은 Zip 뿐만이 아니다.우리는 일상에서 다양한 디지털 컨텐츠를 마주한다. 대표적으로 이미지, 오디오, 비디오 컨텐츠를 예로 들 수 있을 것인데, 이런 컨텐츠의 원본 크기는 어느 정도일까? 이미지 (12MP, 24bit RGB) 36MB 오디오 (24bit/192kHz, stereo) 70MB/min 비디오 (1080p, RGB, 30fps) 11GB/min 생각보다 매우 큰 크기를 자랑하지 않는가? 스트리밍 사이트를 통해 이런 원본 데이터를 이용한다면?90분의 런타임을 가진 영화 한편 시청에 약 1TB(...)의 데이터 사용량이 필요할 것이다. 이러한 비효율성을 줄이고 싶어 등장한 것이 바로 데.. 2025. 3. 31. [백준 / BOJ] A → B - 16953 (Python) 문제 : https://www.acmicpc.net/problem/16953 주어진 두가지의 연산을 이용해서 자연수 A를 B로 변환할 때, 필요한 연산 횟수의 최솟값을 구하는 문제이다.A에서 B로 도달하는 것이 불가능할 수도 있으며, 이러한 경우 -1을 출력한다. (B > A로 주어진다.) 풀이크게 두가지 방법으로 나눌 수 있다. 문제에서 의도한 풀이는 아마 BFS를 활용한 풀이로 짐작된다. 그러나 그리디한 방법을 사용하면 BFS보다 더욱 빠르게 처리할 수 있다. 1. 지문을 자세히 보면, 두가지 사실을 알 수 있다. 둘 중 어떤 연산을 거쳐도 항상 수는 증가하며, 한번의 연산을 거치면 마지막 자리는 항상 1이거나, 짝수라는 것이다. 2. 위와 같은 사실을 통해 다시 생각해보면, A → B가 아닌.. 2025. 1. 25. [백준 / BOJ] 네 개의 소수 - 1153 (Java) 문제 : https://www.acmicpc.net/problem/1153 임의의 자연수 N에 대해서, 해당 수를 4개 소수의 합으로 표현하는 문제이다.4개의 소수 중, 중복인 수가 있을 수 있으며, 답이 여러가지인 경우가 있을 수 있다, 그 중 하나만 출력하면 된다. 풀이1. 문제의 4개의 소수를 'N을 구성하는 수'라고 하자. N을 구성하는 수는 모두 소수이므로, 우리는 자연수 중 어떤 수가 소수인지 알아야한다. 주어지는 N의 범위가 크기 때문에 에라토스테네스의 체를 이용해 N이하의 자연수 범위에서의 소수 여부를 저장하는 테이블을 구하자. 2. 문제에서 의도한 정석적인 풀이는 아닐 수 있지만, 필자는 골드바흐의 추측을 이용해 해결하였다. 골드바흐의 추측이란, '4이상의 모든 짝수는 두 소수의 합.. 2025. 1. 24. [백준 / BOJ] RGB거리 - 1149 (Java) 문제 : https://www.acmicpc.net/problem/1149 서로 인접한 집끼리 서로 다른 색(3가지 색을 사용할 수 있다)으로 칠할 때, 최소 비용을 구하는 문제이다. 입력첫째 줄에 집의 수 N(2 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 각 집을 빨강, 초록, 파랑으로 칠하는 비용이 1번 집부터 한 줄에 하나씩 주어진다. 집을 칠하는 비용은 1,000보다 작거나 같은 자연수이다. 풀이나이브하게 모든 조합을 모두 탐색한다고 생각해보면 O(3^N)의 복잡도를 가진다. N은 최대 1,000이므로 모든 조합을 탐색하는 것은 불가능한 것을 알 수 있다. 해당 문제는 DP를 활용하여 해결할 수 있다. i 번째 집을 칠할 때, i-1번째 집까지 칠한 상태를 참고하는 방식이다... 2025. 1. 23. Nvidia Jetson - Anaconda3 설치 및 실행 Nvidia Jetson - Anaconda3 설치 및 실행 방법 Jetson에서 프로그램마다 다른 환경을 관리하기 위해 Anaconda 가상환경을 사용하게 되었다. Jetson은 우분투와 ARM 아키텍처의 cpu를 사용하므로, 이에 따른 설치 및 실행 방법을 정리한다. 1. 패키지 설치sudo apt-get install libgl1-mesa-glx libegl1-mesa libxrandr2 libxrandr2 libxss1 libxcursor1 libxcomposite1 libasound2 libxi6 libxtst6 위 명령어를 통해 필요한 패키지를 설치한다. 2. Anaconda 설치 다음 페이지에서 설치 가능한 Anaconda Version을 확인할 수 있다.Nvidia Jetson은 Ubunt.. 2024. 8. 12. 체스 기물 희생, 룩 + 비숍 연속 희생 인생 플레이 리뷰 체스에서 가장 짜릿한 순간은 언제일까? 긴 수순의 강제 체크메이트 수를 찾았을 때, 나보다 훨씬 강한 상대를 이겼을 때, 프로모션으로 4개 퀸을 만들어서 상대를 농락할 때 등등 많은 순간이 있지만, 필자가 느끼기에 최고는 화려한 희생 플레이다. 며칠 전, 친구와 10분 레피드 체스를 두던 그때, 엄청난 아이디어가 내 머리를 스쳤다. 정말 재미있는 포지션이라 포스팅을 하지 않을 수 없었다. 레피드에서 웬만한 퍼즐보다 훨씬 흥미로운 포지션이 나왔다는 사실이 신기하기도 하다. 너무 재미있는 그 포지션을 공유라고 쓰고 자랑 하고자 한다. 필자는 흑으로 플레이하고 있다 1. 이 포지션에서 처음에 순간적으로 들었던 생각은 ... Rxd4 이후, Qxd4 Bxh2+ 디스커버드 어택이었다. 그러나 f4 폰이 존재하.. 2024. 8. 10. 이전 1 2 다음