https://www.acmicpc.net/problem/31859
1. 아이디어
StringBuilder의 append 메서드와 reverse 메서드를 활용해서 해결할 수 있다.
2. 문제풀이
규칙1, 2은 Set 자료구조를 활용해서 해결하고 규칙 3, 4, 5는 StringBuilder의 메서드를 활용해서 해결하는 방식으로 구현했다.
3. 코드
import java.io.*;
import java.util.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
StringBuilder sb = new StringBuilder();
StringTokenizer st = new StringTokenizer(br.readLine());
int N = Integer.parseInt(st.nextToken());
char[] name = st.nextToken().toCharArray();
Set<Character> set = new HashSet<>();
int cnt = 0;
for (char c : name) {
if (set.contains(c)) {
cnt++;
continue;
}
sb.append(c);
set.add(c);
}
sb.append(cnt + 4);
sb = new StringBuilder().append(N + 1906).append(sb);
sb = new StringBuilder("smupc_").append(sb.reverse());
bw.write(sb.toString());
bw.flush();
}
}
4. 후기
'코딩테스트 준비 > 백준' 카테고리의 다른 글
[백준] 8320번 - 직사각형을 만드는 방법 [Java] (0) | 2025.01.16 |
---|---|
[백준] 5355번 - 화성 수학 [Java] (0) | 2025.01.16 |
[백준] 1977번 - 완전제곱수 [Java] (0) | 2025.01.16 |
[백준] 2798번 - 블랙잭 [Java] (0) | 2025.01.16 |
[백준] 1354번 - 무한 수열 2 [Java] (0) | 2025.01.16 |