반응형
혼자 힘으로 풀었는가? O
알고리즘 분류
- 정렬
- 그리디
- 문자열
https://www.acmicpc.net/problem/29198
입력받은 문자열을 정렬하고
문자열 배열을 정렬해서
가장 앞의 K개를 합친 후 다시 정렬하는 문제이다.
import java.io.*;
import java.util.*;
public class Main {
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
int n = Integer.parseInt(st.nextToken());
int m = Integer.parseInt(st.nextToken());
int k = Integer.parseInt(st.nextToken());
String [] data = new String[n];
for(int i=0; i<n; i++) {
String tmp = br.readLine();
char [] ch = tmp.toCharArray();
Arrays.sort(ch); //입력받은 문자를 정렬
data[i] = new String(ch);
}
Arrays.sort(data); //문자열 배열을 정렬
StringBuilder sb = new StringBuilder();
for(int i=0;i <k; i++) { //사전 순으로 가장 앞에오는 K개 합치기
sb.append(data[i]);
}
char [] ch = sb.toString().toCharArray();
Arrays.sort(ch); //합쳐진 문자열을 정렬
String result = new String(ch);
System.out.println(result);
}
}
처음엔 입력받은 문자를 정렬하지 않고 그냥 문자열 배열에 입력했더니 35점을 받았다.
입력 받는것 부터 정렬해서 넣어야 100점을 받을 수 있다.
반응형
'Algorithm > 백준' 카테고리의 다른 글
[Java] 백준 24039번 - 2021은 무엇이 특별할까? (0) | 2025.02.27 |
---|---|
[Java] 백준 2563번 - 색종이 (실버5) (0) | 2025.02.27 |
[Java/Python] 백준 15489번 - 파스칼 삼각형 (실버 4) (0) | 2024.09.30 |
[Python] 백준 1043번 - 거짓말 (골드 4) (0) | 2024.07.04 |
[Python] 백준 1744번 - 수 묶기 (골드 4) (0) | 2024.06.19 |
댓글