728x90
반응형
https://www.acmicpc.net/problem/21966
풀이
문자열의 길이가 25이하면 그대로 출력
25이상이면 앞에서 11글자, 뒤에서 11글자를 제외한 글자를 ...으로 생략 후 출력한다.
제외한 글자가 한 글자가 아니면(중간에 .이 있을 경우) 앞에서 9글자, 뒤에서 9글자를 제외한 글자를 ......으로 생략 후 출력한다.
소스코드
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
br.readLine();
String str = br.readLine();
StringBuilder sb = new StringBuilder();
if(str.length() <= 25) {
sb.append(str);
}
else {
String s = str.substring(12, str.length()-12);
boolean b = true;
for(char ch : s.toCharArray()) {
if(ch == '.') {
b = false;
break;
}
}
sb.append(b ? str.substring(0,11) + "..." + str.substring(str.length()-11) : str.substring(0,9) + "......" + str.substring(str.length()-10));
}
System.out.print(sb);
}
}
728x90
반응형
'백준 > 20001 - 25000' 카테고리의 다른 글
[백준] 21734번 : SMUPC의 등장(JAVA) (0) | 2021.07.20 |
---|---|
[백준] 21866번 : 추첨을 통해 커피를 받자(JAVA) (0) | 2021.07.20 |
[백준] 21867번 : Java Bitecode(JAVA) (0) | 2021.07.20 |
[백준] 21965번 : 드높은 남산 위에 우뚝 선(JAVA) (0) | 2021.07.19 |
[백준] 21964번 : 선린인터넷고등학교 교가(JAVA) (0) | 2021.07.19 |
댓글