최근 포스트

[BOJ 1520] 내리막 길

🔗Link 문제 풀이 💡Idea 가장 쉽게 생각할 수 있는 방법은, 가능한 길을 전부 backtracking을 해보는 방법이다. 하지만 다음과 같은 상황을 고려했을 때, 감각적으로 모든 경로를 직접 탐색해 보는 것은 어려울 것이다. 지도(보드)의 크기 N과 M이 최대 500 ...

[BOJ 2294] 동전 2

🔗Link 문제 풀이 💡Idea 당연히 큰 동전을 많이 사용하는 것이 더 적은 개수로 만들 수 있다. 따라서 큰 동전부터 시도해보자. 하지만 꼭 가장 큰 동전을 사용하는 것이 최적해는 아닐 수 있다. 따라서 작은 동전들의 경우도 모두 탐색해보자. 1, ...

[BOJ 9935] 문자열 폭발

🔗Link 문제 풀이 💡Idea 문제를 보면, 괄호 쌍을 찾는 문제와 비슷한 느낌이 들고, 스택의 동작 방식을 사용하면 좋을 것 같은 느낌이 든다. 정답 문자열을 모을 때의 편의를 위해, 스택을 안 쓰고 그냥 vector를 쓰기로 했다. (answer.insert(answer.en...

[Obsidian] 플러그인에 기존에 없던 커맨드 및 단축키 추가하기

서론 옵시디언의 calendar라는 캘린더를 표시해주고, 일일 노트들과 연결해주는 플러그인이 있다. 단축키로 이 calendar를 열고 싶은데, 단축키를 매핑할 수 있는 항목이 없다. 그래서 단축키를 설정할 수 있도록 설정을 해보겠다. 위 이미지의 빨간 박스 부분이 새로 추가한 ...

[BOJ 9663] N-Queen

🔗Link 문제 풀이 💡Idea backtracking으로 퀸을 하나하나 놓아보면 된다. 같은 열과 행, 대각선들에 다른 퀸이 있는지 체크해줘야 한다. 대각선은 행과 열의 합과 차가 같은지로 체크할 수 있다. 대각선 \

[BOJ 7453] 합이 0인 네 정수

🔗Link 문제 풀이 💡Idea 4개의 배열을 전부 선형탐색해서 합을 구한다면, O(n4)이 걸릴 것이다. n이 4000이므로 64×1016의 연산이 필요하고, 12초에 동작하기 위해선 다른 방법을 생각해야 한다. 우선 배열을 2개씩만 합해서, AB 배열과 CD 배열을 만든다. n...

[BOJ 2842] 집배원 한상덕

🔗Link 문제 풀이 💡Idea 피로도를 기준으로 상덕씨가 갈 수 있는 길을 정하는 식으로 구현한다면, 지금까지 이동해온 구역에 따라 다음에 갈 수 있는 구역이 달라져서, 구현이 복잡해질 것이다. 피로도 대신, 갈 수 있는 최대 높이와 최소 높이를 정해주면 갈 수 있는 구역을 판단...

[BOJ 2096] 내려가기

🔗Link 문제 풀이 💡Idea 다음과 같은 점화식을 세워 풀면 된다. 메모리 제한이 있으므로 이전 층까지만 저장하며, 현재 층과 이전 층을 갱신해주자.