string(48)
-
[백준 01769] 3의 배수 [Java]
문제https://www.acmicpc.net/problem/1769 풀이주어진 수의 각 자리를 합하는 과정을 반복해서 한 자릿수로 만드는 문제다.문자열을 순회하며 합을 구해주자. 연산 횟수도 구해야 하므로 카운트 해주자. // Solve int cnt = 0; while (X.length() > 1) { int sum = 0; for (int i = 0; i 마지막 한 자릿수가 3의 배수인지 아닌지 확인해주자. System.out.println(Integer.parseInt(X) % 3 == 0 ? "YES" : "NO");풀이시간≤ 3m소스코드https://github.com/rogi-rogi/problem-so..
2025.04.20 -
[백준 25594] HG 음성기호 [Java]
문제https://www.acmicpc.net/problem/25594 풀이문자열 S가 사전에 주어진 매핑표의 문자열들로 구성되어있는지 확인하는 문제다.직관적인 매핑을 위해 Map으로 매핑 테이블을 만들었다.단순히 문자열 배열로 만든 후 아스키코드값을 인덱스처럼 활용하는 방법도 있다. // Solve Map map = new HashMap(); map.put('a', "aespa"); map.put('b', "baekjoon"); map.put('c', "cau"); map.put('d', "debug"); map.put('e', "edge"); map.put('f', "firefox"); m..
2025.04.06 -
[백준 13022] 늑대와 올바른 단어 [Java]
문제https://www.acmicpc.net/problem/13022 풀이주어진 문자열이 패턴 ‘wolf’으로 구성되는지 확인하는 문제다.문자열의 길이는 50이므로 길이가 4배수인 패턴을 미리 생성하고 비교하거나 replace해주는 방식도 있지만, 정직(?)하게 풀어보았다.우선 문자열의 시작은 ‘w’로 시작해야한다. static char[] ptn = "olf".toCharArray(); private static boolean check(char[] S) { int idx = 0, gap = 0; while (idx 그리고 ‘w’가 아닌 다른 문자가 나올 때 까지 연속된 ‘w’의 수를 세주자. while (idx 연속된 ‘w’의 수만큼 패턴 ‘o..
2025.03.26 -
[백준 19564] 반복 [Java]
문제https://www.acmicpc.net/problem/19564 풀이어떤 키를 누르든 A ~ Z부터 한 번씩 주어지므로주어진 문자열 S를 만들기 위해서는 각 문자가 이전 문자보다 순서가 사전순으로 뒤에 위치할 때만 추가로 키를 눌러도 되지 않는다.만약 이전 문자와 동일한 문자, 또는 순서가 앞서는 문자가 나온다면 키를 한번 더 눌러서 A-Z를 얻어야 한다. // Solve int cnt = 1; for (int i = 1; i 소스코드https://github.com/rogi-rogi/problem-solving/blob/main/baekjoon-online-judge/practice/19564.java
2025.03.15 -
[백준 13419] 탕수육 [Java]
문제https://www.acmicpc.net/problem/13419 풀이주어진 문자열에 대해 두 명이 탕수육 게임을 한다고 한다.자신의 차례 때 말해야 하는 문자로만 이루어진 최소 문자열을 출력하는 문제다.자신의 순서(0 또는 1번 인덱스)에서 2개씩 건너뛰며 다시 자신의 순서로 돌아올 때 까지 문자를 선택하면 된다. int idx = 0; StringBuilder a = new StringBuilder(); StringBuilder b = new StringBuilder(); do { a.append(S.charAt(idx)); idx = (idx + 2) % S.le..
2025.03.15 -
[백준 30389] Suffix [Java]
문제https://www.acmicpc.net/problem/30389 풀이주어지는 N개의 문자열에 대해 모든 부분 접미사 집합을 구하고, 다음 문자열의 접미사 집합과 XOR연산을 하는 문제다.우선 현재 문자열의 접미사를 구해주는 메서드를 만들자.입력받은 문자열을 역순으로 한 칸씩 늘려가며 문자열을 결합해서 저장하면 된다. private static List getSuffixes(String s) { StringBuilder sb = new StringBuilder(); List suffixes = new ArrayList(); for (int i = s.length() -1; i >= 0; --i) { sb.append(s.charAt(i)..
2025.03.08 -
[백준 01013] Contact [Java]
문제https://www.acmicpc.net/problem/1013 풀이입력으로 주어지는 여러 문자열들이 지문에서 주어진 패턴과 동일한 문자열인지 판별하는 문제다.정규표현식을 사용해 쉽게 풀이할 수 있다. Pattern pattern = Pattern.compile("^(100+1+|01)+$"); while (T-- > 0) { // Solve sb.append(pattern.matcher(br.readLine()).matches() ? "YES\\n" : "NO\\n"); }소스코드https://github.com/rogi-rogi/problem-solving/blob/main/baekjoon-online-judge/nor..
2025.03.07 -
[백준 30329] Kick [Java]
문제https://www.acmicpc.net/problem/30329 풀이주어진 문자열에서 kick 또는 kicks의 수를 세는 문제다.kick는 kicks의 부분 문자열이므로 kick의 수만 세어도 된다. for (int i = 0; i + 3 소스코드https://github.com/rogi-rogi/problem-solving/blob/main/baekjoon-online-judge/practice/30329.java
2025.02.21 -
[백준 09443] Arrangement of Contest [Java]
문제Little Dmitry and little Petr want to arrange a contest. Their little friends submitted several task proposals and now Dmitry and Petr want to select some of them for the contest. As they are just little boys, they cannot estimate quality of tasks, but they know for sure that in good contest title of the first problem starts with A, the title of the second one — with B, and so on.Given titles ..
2024.10.23 -
[백준 30958] 서울사이버대학을 다니고 [Python]
문제서울사이버대학을 다니고 나의 성공 시대 시작됐다서울사이버대학을 다니고 나를 찾는 회사 많아졌다서울사이버대학을 다니고 내 인생이 달라졌다미래를 바꾸는 전략서울사이버대학교서울사이버대학교 로고송은 중독성 강한 멜로디로 매우 매우 유명하다. 빅데이터·AI센터에서 데이터 분석을 하던 노교수와 천교수는 어디선가 들려오는 로고송을 듣고 가장 많이 사용된 글자가 몇 번이나 등장하는지 궁금해졌다.멜로디에 중독된 두 교수를 대신해서 가장 많이 사용된 글자가 몇 번 등장하는지를 출력하자.입력 첫 번째 줄에 로고송의 길이 𝑁이 주어진다. 1 ≤ 𝑁 ≤10^5두 번째 줄에 로고송이 한 줄의 문자열로 주어진다. 문자열은 서울사이버대학교 로고송의 영문 번역이 반복되는 형태로 주어지며, 알파벳 소문자와 띄어쓰기, 쉼표, 마침..
2024.07.28