PS [PS] BOJ 33571 / 구멍 문제 링크: https://www.acmicpc.net/problem/33571 Thumbnail: Photo by Gabriel / Unsplash 풀이 구멍이 있는 문자의 경우만 미리 딕셔너리로 기록해 두고, 딕셔너리에 키가 없는 경우는 '구멍이 없다'고 판단해 전체 개수를 세도록 구현했다. 코드 circles = { "A": 1, "a": 1, "B": 2,
PS [PS] BOJ 16139 / 인간-컴퓨터 상호작용 문제 링크: https://www.acmicpc.net/problem/16139 Thumbnail: Photo by Thanuj Mathew / Unsplash '누적 합'에 대한 이해만 있다면 그리 어렵지 않게 풀이를 떠올릴 수 있습니다. 풀이 최대 200,000자의 문자열 \(S\) 에서, 최대 200,000 번의 구간 쿼리를 수행해야 한다. 각각의 쿼리에서는 \([L, R]\) (L, R
PS [PS] BOJ 10434 / 행복한 소수 문제 링크: https://www.acmicpc.net/problem/10434 Thumbnail: Photo by The Travel Nook / Unsplash '행복한 수' 를 판별하는 과정이 바로 떠오르지 않았지만, 패턴을 고찰해 보니 쉽게 이해할 수 있었습니다! 풀이 임의의 수 \(M\)가 행복한 소수인지 판단하려면, 다음 두 가지 과정을 거치면 된다. * \(M\)이 소수인가? * \(M\
PS [PS] BOJ 32767 / 문자열 줄이기 문제 링크: https://www.acmicpc.net/problem/32767 Thumbnail: Photo by Diya Pokharel / Unsplash 처음에 브루투 포스 방식으로 풀었는데, 당연하게도 시간 초과를 맞닥뜨렸습니다.. 문제 알파벳 소문자로 구성된 길이 \(N\)의 문자열 \(S\)가 주어진다. \(S\)에 대하여 문자열 줄이기를 \(M\)번 시행한다. 문자열 줄이기의 과정은 다음과 같다. * \(S\)에 포함된
PS [PS] BOJ 1065 / 한수 문제 링크: https://www.acmicpc.net/problem/1065 Thumbnail: Photo by Lanju Fotografie / Unsplash 숫자의 범위가 작아서, 비교적 간단한 방법으로도 풀리는 문제였습니다. 문제 어떤 양의 정수 \(X\)의 각 자리가 등차수열을 이룬다면, 그 수를 한수 라고 한다. * 등차수열은 연속된 두 개의 수의 차이가 일정한 수열을 말한다. \(N\)이 주어졌을 때,
PS [PS] BOJ 32935 / 이상한 시행 문제 링크: https://www.acmicpc.net/problem/32935 난이도: 실버III 처음 맞닥뜨렸을 때는 방법이 떠오르지 않지만, 조금만 고민해보면 쉽게 풀이할 수 있는 문제였습니다. 문제 길이가 \(N\)인 수열 \(a\)가 주어진다. 다음의 시행을 원하는 만큼 하여 \(a\)의 원소들의 합을 최대로 하려한다. 그 최댓값을 구하여라. * 현재 \(a\)의 원소들의 합을
PS [PS] BOJ 14470 / 전자레인지 문제 링크: https://www.acmicpc.net/problem/14470 브론즈 IV 난이도의 간단한 문제입니다! 문제 요건에 맞게 간단한 수식으로 구현할 수 있고, 입력으로 주어지는 수 또한 -100~100 사이의 작은 범위입니다. 문제 A℃의 고기를 전자레인지로 B℃까지 데우려고 한다. 고기는 온도가 0℃보다 낮을 때 얼어 있고, 0℃보다 높을