talALGO

talALGO

탈알고는 지능순

Gnome 데스크탑 메뉴에 애플리케이션 추가하기

Read The Fucking Manual; RTFM * Desktop files: putting your application in the desktop menus * Desktop Entry Specification 이 글로 충분하지 않을 수 있다. 그럴 땐 매뉴얼을 참고하라. 왜? Gnome 데스크탑 메뉴 커스터마이징이 필요해질 때가 있다. 예를 들면, 무척이나 유용한 프로그램을 발견했으나 그놈 데스크탑 메뉴를 고려하지 않고 만들어진 경우나, 자신이 직접
3 min read
기타

panty.run은 어떻게 만들어졌는가

시작 대체 이딴 블로그는 누가 만들었고, 어떻게 만들어졌는가? 카톡방에서 누군가 블로그 글 쓰기 귀찮다는 말에 야호가 이런 답을 한 것이 시작이다. 그 말에 개돼지(민중)들은 아래와 같이 나를 호출하며 팀 블로그를 만들라는 압박을 넣었고 나에게 서버비를 카톡방 인원 88명분 만큼 나눠내라는 말도 안되는 제안과 함께, 회유를 하기 시작했다. 결국
4 min read

VIM에 파이썬 뿌리기

기본적으로 vim의 기능이 마음에 들지 않거나 내가 원하는 기능이 플러그인에 없는 상황이 종종 있습니다. 그렇다고 vim스크립트를 배우자니 귀찮은 상황에 유용한 방법중 하나가 파이썬 등의 언어를 갖다 넣는 방법이 있습니다. 들어가기에 앞서 일단 당신이 쓰는 vim이 무엇을 지원하나 확인해봅시다. python3에 +표시 되어있는것이 보인다면 python으로 vim을 제어할 수 있습니다. function! Calc() python3
3 min read
백준

BOJ 5916 농장관리

나는 야호다. 오늘은 농장관리라는 문제를 풀어볼거다. 문제: https://www.acmicpc.net/problem/5916 문제는 HLD의 기본문제다. HLD의 설명은 /hld 를 봐라. HLD의 기본만 알고있다면, 약간 까다로운 점이 존재하는데, 바로 이 문제의 쿼리가 노드에 있는게 아니라, 간선에 있다는 점이다. 간선 쿼리의 경우에는 그 간선이 자식쪽에 해당하는 노드에 속해있다고 생각하면 된다. 따라서
4 min read

코드 길이를 줄이는 방법

H9 ㅎㅇ! ps를 한 기간이 꽤 되는 사람이라면, 문제를 푼 후 소스코드의 길이가 남들에 비해 월등히 우람하고 큼직해 현자타임을 느낀 적이 있을 것이다. 바로 이렇게 말이다. 그렇다면, 코드를 줄이는 방법이 필요하지 않겠는가? 간단한 것부터 시작해 몇 가지 알아보도록 하자. (대부분의 온라인저지 C 컴파일러는 GCC를 사용하므로 GCC를 기준으로 서술한다. 이외의 컴파일러에서는
2 min read
알고리즘

merge sort, quick sort를 구현해 보자

걱정이다. 이제 슬슬 내가 알고있는게 다 떨여저 간다. 근데 글쓰는거 왤케 재밋냐. 제목보고 들어왔을테니 정렬구현할꺼다. 머지소트랑 퀵소트(+ 간단한 함수포인터) 그리고 문제로 검증받아야 하니 여러문제의 풀이코드를 올리도록 하겠다. 그전에 신세한탄좀 하자 내가 std::sort()이 함수때문에 C++를 진입하지 못하고 '하... 모르겠다 걍 구현하고 말지' 라는 생각으로 'C'로 문제를 풀어왔다. 이
6 min read
트러블슈팅

리눅스 듀얼부트 설치 시 Bitlocker Recovery Key를 입력해야 하는 경우

방법 이 방법은 자신의 장치가 마이크로소프트 계정과 연결되어 있는 경우 사용가능합니다. 1. Microsoft 홈페이지를 방문합니다. 2. 장치에 연결된 계정으로 로그인합니다. 3. 프로필 박스를 눌러,내 Microsoft 계정을 클릭합니다(혹은 [Microsoft 계정](https://account.microsoft.com/)으로 접속합니다). 4. '장치'탭에서, 자신의 윈도우즈 머신의 관리 버튼을 클릭합니다. 5. 화면을 아래로 내려 'BitLocker
1 min read
자료구조

priority_queue를 구현해 보자

사실 난 알고있는 알고리즘이 몇개 없다. 그래서 그나마 조금 할줄아는 구현글을 써보고자 한다. 사실 다른자료구조 부터 먼저 할려고 했지만 이 글이 나오자마자 우선 priority queue(이하 pq)부터 하고자 맘먹었다. pq는 매우 좋은 자료구조라 할 수 있다. 그 범용성도 매우 넓다. 예를들어 https://www.acmicpc.net/problem/1753 https://www.
4 min read
백준

BOJ 17274 카드 공장

문제 : https://www.acmicpc.net/problem/17274 지문이 짧고 간단하다. 앞면은 A, 뒷면은 B로 카드쌍이 주어지는데 K라는 숫자가 주어질 때마다 전체 카드 중 현재 보이고 있는 면이 K이하인 카드를 모두 뒤집어주면 된다. 가장 먼저 떠오르는 방법은 매 쿼리마다 전체 카드를 보면서 하나씩 뒤집어주는 것이지만 전체 카드의 개수와 쿼리의 개수는 각각
6 min read
백준

[BOJ : 16932]모양 만들기

하악하악 커동빵디 [분류] : 탐색(DFS) [조건]: 0으로 채워진 칸을 1로 바꾸었을때 연속적으로 존재하는 1의 개수가 가장 최대임을 찾으면 됩니다. [과정] : 1)먼저 연속적으로 붙어있는 1로 채워진 칸들이 존재한다면 이들을 구분해 주기 위해 그룹화를 진행해야 된다.(그룹화를 진행 해야되는 이유는 '구현방법'에서 설명하겠습니다.) 2)그룹화가 진행되면서 동시에 그룹화 된 그룹들의 원소의 수를
6 min read
기타

피부를 관리해보자

내 닉네임이 왜 마녀냐 하면 내가 마녀공장이라는 기초화장품 브랜드를 참 좋아한다. 그래서 원래 닉네임을 마녀공장이라고 했는데 너무 브랜드 이름인 거 티나는 것 같아서 마녀로 줄였다. 그런 내가 경험을 살려 여러분의 탈알고를 돕고자, 자기관리의 영역 중 하나인 기초적인 피부관리에 관한 똥글을 한번 싸보고자 한다. 체크리스트 1. 닦아내는 토너를 쓴다 2. 로션/
5 min read
알고리즘

Heavy Light Decomposition

다음과 같은 문제를 생각해보자. 크기가 N인 배열에서 주어지는 [l,r] 범위들의 합을 각각 구하여라. 이 글을 찾아올 정도의 사람이라면 아마 일일이 더하는 것이 아니라 누적합을 구해서 각 쿼리를 O(1)에 처리할 것이다. 저 배열에 단일점 업데이트가 있다면 세그먼트 트리를 쓸 것이고, 구간 업데이트가 있다면 Lazy propagation을 얹어서 쓸 것이고.
10 min read