practice(134)
-
[백준 15226] House of Cards [Java]
문제http://boj.ma/15226요약네 종류의 카드를 균등하게 사용해, 쌓을 수 있는 h0 이상의 타워 높이 h를 구하자.입력 조건이 최대 $10^{1000}$으로 Java의 BigInteger 또는 Python풀이 권장풀이 과정아이디어높이가 h인 타워를 만들기 위해 필요한 최소 카드 수 $f(n)$은 $\frac{2n(n+1)}{2} + \frac{(n-1)n}{2}$ 이다.네 종류의 카드를 균등하게 사용해, $h_0$이상의 타워를 만들어야 한다.따라서 $f(H)(H ≥ h_0)$에 대해 $3H^2 + H = 0 \pmod 8$, 을 만족하는 $H$를 찾으면 된다.private static BigInteger f(BigInteger n) { return n.multiply(n).multipl..
2025.10.30 -
[백준 19843] 수면 패턴 [Java]
문제http://boj.ma/19843 19843번: 수면 패턴 boj.ma 풀이문제 요약민티의 수면 기록이 주어졌을 때, 주말에 몇 시간을 더 자야 한 주에 T시간을 잘 수 있는지 구하자.아이디어잠든/일어난 요일이 다르다면, 두 요일의 차 * 24 시간과 두 시간의 차를 빼주자. 요일이 같다면 두 시간의 차만 빼면 된다.만약 모든 수면 기록이 48시간 보다 크다면 주말 내내 자도 부족하다. 평일에 이미 T보다 많이 잤다면, 주말에는 잠을 자지 않아야 한다 List days = List.of(new String[]{"Mon", "Tue", "Wed", "Thu", "Fri"}); while (N-- > 0) { st = new StringTokenizer(br..
2025.09.01 -
[백준 23885] 비숍 투어 [Java]
문제http://boj.ma/23885 23885번: 비숍 투어 boj.ma 풀이문제 요약체스판에서 비숍의 출발/도착 위치가 주어졌을 때 이동 가능한 위치인지 확인하자.아이디어비숍의 좌표값의 합(x + y)을 2로 나눈 나머지가 일치하다면 비숍이 이동할 수 있는 장소다. 출발지와 도착지가 다른데, 체스판의 한쪽 면의 길이가 1이라면 이동 불가능하다는 점에 유의하자. if ((sX != eX || sY != eY) && (N == 1 || M == 1)) { System.out.println("NO"); } else { System.out.println((sX + sY) % 2 == (eX + eY) % 2 ? "YES" : "NO"); ..
2025.08.31 -
[백준 10384] 팬그램 [Java]
문제http://boj.ma/10384 10384번: 팬그램 boj.ma 풀이문제 요약문자열에 모든 알파벳이 등장하는 최소 횟수를 구해 적절한 문구를 출력하자.아이디어알파벳에 대한 빈도를 모두 기록 후 최소 빈도를 찾으면 된다.import java.io.*;public class Main { private static final String[] MSG = { "Not a pangram\\n", "Pangram!\\n", "Double pangram!!\\n", "Triple pangram!!!\\n" }; public static void main(String[] args) throws Exception { . . . ..
2025.08.27 -
[백준 04446] ROT13 [Java]
문제http://boj.ma/4446 4446번: ROT13 boj.ma 풀이문제요약주어진 문장 중 알파벳에 대해 규칙대로 변환하자.아이디어주어진 규칙을 구현하면 된다. 대문자/소문자도 처리할 수 있어야 하며, 알파벳이 아니라면 변환없이 넘어가면 된다. if (!Character.isLetter(chr)) { sb.append(chr); continue; } boolean isUpper = Character.isUpperCase(chr); char lowerChr = Character.toLowerCase(chr); ..
2025.08.13 -
[백준 26264] 빅데이터? 정보보호! [Java]
문제http://boj.ma/26264 26264번: 빅데이터? 정보보호! boj.ma 풀이문제 요약bigdata 또는 security로만 구성된 문자열에서 각 단어의 빈도에 따라 적절한 결과를 출력하자아이디어문자열은 두 단어로만 구성되어 있으며, 두 단어의 빈도는 ‘b’와 ‘s’의 빈도로 쉽게 알 수 있다. // Solve int moreSecurity = 0; for (int i = 0; i 풀이시간3분소스코드https://github.com/rogi-rogi/problem-solving/blob/main/baekjoon-online-judge/practice/26264.java problem-solving/baekjoon-online-judge/practice/..
2025.08.03 -
[백준 24544] 카카오뷰 큐레이팅 효용성 분석 [Java]
문제http://boj.ma/24544 24544번: 카카오뷰 큐레이팅 효용성 분석 boj.ma 풀이문제 요약N개의 콘텐츠 흥미도에 대해 전체의 합과 My뷰에 미등록된 콘텐츠의 합을 구하자.아이디어선형 탐색을 통해 전체합을 구하면서, My뷰 등록 여부에 따라 미등록된 콘텐츠 합만 조건부로 계산하면 된다. // Solve int total = 0, notRegistered = 0; for (int i = 0; i 풀이 시간3분소스코드https://github.com/rogi-rogi/problem-solving/blob/main/baekjoon-online-judge/practice/24544.java problem-solving/baekjoon-online-judge..
2025.07.26 -
[백준 33690] 포린드롬 [Java]
문제http://boj.ma/33690 33690번: 포린드롬 boj.ma 풀이문제 요약음이 아닌 정수 P 이하의 수 중 i자리와 i - 1자리의 수가 항상 팰린드롬인 수의 전체 갯수를 구하자.아이디어i, i - 1자리의 수가 항상 팰린드롬인 수는 모든 자릿수가 동일한 수로 구성된 경우만 가능하다.N 이하이면서 모든 자릿수가 동일한 수를 전부 찾아주자. // Solve int cnt = 1; for (int i = 1; i 풀이 시간3분소스코드https://github.com/rogi-rogi/problem-solving/blob/main/baekjoon-online-judge/practice/33690.java problem-solving/baekjoon-onlin..
2025.07.22 -
[백준 27940] 가지 산사태 [Java]
문제http://boj.ma/27940 27940번: 가지 산사태 boj.ma 풀이문제 요약M번 비가 올 때, 강수량이 K를 넘는 순간의 몇 번째 비가 왔을 때인지 구하자.아이디어1 ~ $t_{i}$ 층에 비가 내리므로 1층은 항상 강수량이 누적된다. 따라서 M번의 비가 내리는 동안 강수량이 누적합이 K를 넘는 순간을 구하면된다. for (int i = 1; i K) { res = i + " 1"; break; } }풀이 시간3분소스코드https://github.com/rogi-rogi/problem-solving/blob/main/baekjoon-online-judge/practice/27940.java..
2025.07.17 -
[백준 05426] 비밀 편지 [Java]
문제http://boj.ma/5426 5426번: 비밀 편지 boj.ma 풀이문제 요약90도 회전으로 암호화된 배열 구조의 편지를 복호화 하자.아이디어배열의 방문 순서를 90도 회전한 배열에 맞춰서 방문하면 복호화가 된다. // Solve final int N = (int) Math.sqrt(encoded.length()); for (int j = N - 1; j >= 0; --j) { for (int i = 0; i 풀이 시간3분소스코드https://github.com/rogi-rogi/problem-solving/blob/main/baekjoon-online-judge/practice/05426.java proble..
2025.07.16