PS/BOJ

백준 1251 단어 나누기 / JAVA

얍연구소장 2023. 4. 14.

https://www.acmicpc.net/problem/1251

 

1251번: 단어 나누기

알파벳 소문자로 이루어진 단어를 가지고 아래와 같은 과정을 해 보려고 한다. 먼저 단어에서 임의의 두 부분을 골라서 단어를 쪼갠다. 즉, 주어진 단어를 세 개의 더 작은 단어로 나누는 것이다

www.acmicpc.net

> 풀이

 

import java.io.*;
import java.util.*;

/*
 * 백준 1251 단어 나누기
 * #실버5
 */
public class Main {

	public static void main(String[] args) throws IOException{
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String str = br.readLine();
        ArrayList<String> list = new ArrayList<>();
        for(int i = 1; i < str.length()-1; i++) {
            for(int j = i+1; j < str.length(); j++) {
                String tmpStr = "";
                tmpStr += reverse(0, i, str);
                tmpStr += reverse(i, j, str);
                tmpStr += reverse(j, str.length(), str);
                list.add(tmpStr);
            }
        }
        Collections.sort(list);
        System.out.println(list.get(0));
    }
        
    public static String reverse(int start, int end, String str) {
        String reverseStr = "";
        for(int i = end-1; i >= start; i--) {
            reverseStr += str.charAt(i);
        }
        return reverseStr;
    }
}

'PS > BOJ' 카테고리의 다른 글

백준 1331 나이트투어 / JAVA  (0) 2023.04.19
백준 9465 스티커 / JAVA  (0) 2023.04.17
백준 5341 Pyramids / JAVA  (1) 2023.04.12
백준 2037 문자메시지 / JAVA  (0) 2023.04.11
백준 1952 달팽이2 / JAVA  (0) 2023.04.09

댓글