String(7)
-
[Baekjoon] 1302번: 베스트셀러
https://www.acmicpc.net/problem/1302 1302번: 베스트셀러 첫째 줄에 오늘 하루 동안 팔린 책의 개수 N이 주어진다. 이 값은 1,000보다 작거나 같은 자연수이다. 둘째부터 N개의 줄에 책의 제목이 입력으로 들어온다. 책의 제목의 길이는 50보다 작거나 같고 www.acmicpc.net 문제 설명 가장 많이 입력된 책을 출력한다. 가장 많이 입력된 횟수가 같을 경우 사전 순으로 출력한다. 풀이 방법 HashMap을 활용해서 해결했다. 간단한 문제이므로 바로 코드를 보자. import java.io.*; import java.util.*; import java.util.stream.Collectors; class Main { public static void main(Str..
2023.04.04 -
[Baekjoon] 9935번: 문자열 폭발
https://www.acmicpc.net/problem/9935 9935번: 문자열 폭발 첫째 줄에 문자열이 주어진다. 문자열의 길이는 1보다 크거나 같고, 1,000,000보다 작거나 같다. 둘째 줄에 폭발 문자열이 주어진다. 길이는 1보다 크거나 같고, 36보다 작거나 같다. 두 문자열은 모 www.acmicpc.net 문제 설명 먼저 문자열 한 줄이 주어진다. 그 다음 폭발 키워드 문자열이 주어진다. 만약 문자열에 폭발 키워드 문자열이 있으면 해당 문자열이 폭발하고 앞 뒤 문자열은 합쳐진다. 이때 폭발이 모두 끝난 후 남은 문자열을 출력하면 된다. 만약 남은 문자열이 없는 경우, 즉 모든 문자열이 폭발한 경우 FRULA를 출력한다. 스택이나 StringBuilder를 활용하면 효율적으로 해결할 수..
2023.03.17 -
[Baekjoon] 10988번: 팰린드롬인지 확인하기
https://www.acmicpc.net/problem/10988 10988번: 팰린드롬인지 확인하기 첫째 줄에 단어가 주어진다. 단어의 길이는 1보다 크거나 같고, 100보다 작거나 같으며, 알파벳 소문자로만 이루어져 있다. www.acmicpc.net 문제 설명 지난번에 이어 팰린드롬과 관련된 문제이다. 이 문제는 주어진 문자열이 팰린드롬인지 확인하고 맞다면 1, 아니라면 0을 출력하면 된다. 팰린드롬은 level과 같이 앞뒤로 읽어도 똑같은 문자열을 말한다. 풀이 방법 입력받은 문자열을 절반으로 자르고 뒷부분을 뒤집은 뒤 앞부분과 비교하는 방식으로 해결하였다. package baekjoon.string; import java.io.*; public class BOJ10988 { public sta..
2023.03.13 -
[Baekjoon] 1213번: 팰린드롬 만들기
https://www.acmicpc.net/problem/1213
2023.03.12 -
[Baekjoon] 11478번: 서로 다른 부분 문자열의 개수 - Java
https://www.acmicpc.net/problem/11478 11478번: 서로 다른 부분 문자열의 개수 첫째 줄에 문자열 S가 주어진다. S는 알파벳 소문자로만 이루어져 있고, 길이는 1,000 이하이다. www.acmicpc.net 문제 설명 주어진 문자열의 모든 부분 문자열 중 중복을 제거한 개수를 구하면 된다. 풀이 방법 - HashSet 이중 반복문을 돌면서 HashSet에 substring한 문자열을 추가하고 나면 마지막엔 중복없는 문자열의 개수만 남게 된다. for (int i = 0; i < S.length(); i++) for (int j = i; j < S.length(); j++) set.add(S.substring(i, j + 1); 전체 코드는 다음과 같다. package ..
2023.02.25 -
[Baekjoon] 12904번: A와 B - Java
https://www.acmicpc.net/problem/12904 12904번: A와 B 수빈이는 A와 B로만 이루어진 영어 단어가 존재한다는 사실에 놀랐다. 대표적인 예로 AB (Abdominal의 약자), BAA (양의 울음 소리), AA (용암의 종류), ABBA (스웨덴 팝 그룹)이 있다. 이런 사실에 놀란 수 www.acmicpc.net 문제 설명 문자열 S와 T가 주어졌을 때, 주어진 규칙으로 S를 T로 만들 수 있는지 여부를 계산하는 문제이다. 풀이 방법 이 문제는 발상의 전환이 필요하다. S에서 T로 만들려면 모든 경우의 수를 따져야 한다. 하지만 T에서 S로 만드는 것은 'A와 'B' 중 한 가지만 고려하면 된다. T를 S로 만드는 방법은 다음과 같다. A로 끝나면 마지막 문자를 제거한..
2023.02.20