목록분류 전체보기 (252)
Joonas' Note
링크: https://www.acmicpc.net/problem/17520풀이균형잡힌 문자열에서 확인하는 모든 부분 문자열은 첫번째 문자를 포함한다. 즉, 앞에서부터 순차적으로 확인하여 0와 1의 개수가 1 이상 차이가 난다면 균형잡힌 문자열이 아니라는 뜻이다. 우선 무식하게 모든 경우의 수를 다 확인해볼 수 있다. i번째 위치를 0 또는 1로 결정하면서, 균형잡힌 문자열이 되는 경우만 탐색했다. n=3일 때, 010, 011, 100, 101 네 개의 문자열이 나온다. n=1부터 하나씩 확인해보면 \(2, 2, 4, 4, 8, 8, \dots, 2^{n-1}, 2^{n-1}, 2^{n}, 2^{n}\) 로 규칙성이 보인다. 이제 문제는 \(f(n)=2^{\lfloor{(n+1)}/2\rfloor}~mo..
링크: https://www.acmicpc.net/problem/1699문제주어진 N을 최소 몇 개의 제곱수의 합으로 표현할 수 있는 지 구하는 문제이다. 문제를 풀기 전에, 라그랑주 네 제곱수 정리를 알고 있으면 좋다. 백준 온라인 저지에 문제로도 등장했다. BOJ 3933 - 라그랑주의 네 제곱수 정리 요약하면, 모든 양의 정수가 많아야 4개의 제곱수의 합이라는 정리인데, 다시 말하면 이 문제의 정답은 최대 4라는 뜻이다. \(x^a + y^b + z^c + w^d = N\) 에서 \(a,~b,~c,~d\) 를 모두 확인해 볼 필요는 없다. 라그랑주의 정리에 의하면 모든 \(a,~b,~c\)를 찾았는 데 없으면 4개로 표현할 수 있기 때문이다. 즉, 3중첩 반복문으로 해결 가능하다.코드
링크: https://www.acmicpc.net/problem/17521문제보자마자 주식 문제가 생각났다.주식 문제들은 최대 이익을 내기 위해서 그리디하게 행동하면 된다. 값쌀 때 사서 값비쌀 때 팔면 된다.이 문제에서는 늘어난 코인만큼 다시 투자를 할 수 있으니, 상승 곡선이면 무조건 사는것이 이득이다. (늘어난 코인을 배로 불릴 수 있으니)코드 직관적으로 풀었지만 내심 불안했다.그래서 dp로도 풀어보았다. 물론, 같은 결과가 나왔고 정답이다.점화식은 dp[k] := k일까지 벌 수 있는 최대 코인이다.\(i < j\) 인 \(i\)일째에 가진 돈으로 전부 매수하고, \(j\)일에 모두 매도한다면 (두 날짜 사이의 변폭) * (i일에 살 수 있었던 코인의 수)만큼 벌 수 있을것이다.
https://www.acmicpc.net/problem/5612 문제 1분 단위로 터널에 들어간 차량의 수와 터널에서 나온 차량의 수가 주어졌을 때, 터널에는 차량이 최대 몇 대 있었는가? 풀이 처음에 터널에 있었던 차량 수에서, 매분 들어간 차량의 수를 더하고 나간 차량의 수를 빼면 된다. 중간에 한번이라도 터널 안 차량의 수가 음수가 되면 0을 출력하는 것에 주의하면 정답. 코드
자료를 정리하다 우연히 옛날에 개발하면서 생겼던 버그와 해결법이 있어서 공유 2014년 11월 즈음에, 아주 오래된 CentOS 5.x 운영체제에서 돌아가는 PHP 사이트를 관리하던 시절이 있었다. 꽤 많은 업데이트와 보안 패치 등을 위해서 PHP 버전을 업그레이드하려고 핬다. (PHP4에서 PHP5.4로) 당시에 CentOS의 yum 패키지 매니저로 아주 고생한 기억이 난다. yum의 의존성은 어떻게 잘 해결했다고 치고, 위 문제는 libedit.so.0을 패키지에 추가해서 해결했다.
게임 하러 가기: https://joonas-yoon.github.io/rubik-s-race/ (3 in 5)^2 puzzle Move the tiles, Solve the puzzle! joonas-yoon.github.io 2048 게임을 수정하여 다른 게임으로 만들었다. 빈 칸(어두운 색의 칸)으로 다른 타일을 옮겨서, 큰 판에 있는 중앙 3x3칸의 타일 배치를 (위에 있는) 작은 판의 3x3 타일 배치와 똑같게 만들면 게임에 승리한다. 더 적은 움직임으로 맞출수록 고득점이다. 사실 저번 주말, 카톡 단체 채팅방에서 우연히 아래 짤이 올라왔다. 머하는거지... 하고 보다가 오! 했다. 갑자기 이걸 코딩하겠다는 이야기도 나오고 해서 나도 솔깃했고 다음날 저녁 간단한 프로토타입을 만들었다. 우선, 처..