๊ธฐ๋ก๋ฐฉ

BOJ_1251 : ๋‹จ์–ด ๋‚˜๋ˆ„๊ธฐ ๋ณธ๋ฌธ

CodingTest/Java

BOJ_1251 : ๋‹จ์–ด ๋‚˜๋ˆ„๊ธฐ

Soom_1n 2022. 9. 18. 15:59

๐Ÿ‘‰ ๋ฌธ์ œ๋งํฌ

 

1251๋ฒˆ: ๋‹จ์–ด ๋‚˜๋ˆ„๊ธฐ

์•ŒํŒŒ๋ฒณ ์†Œ๋ฌธ์ž๋กœ ์ด๋ฃจ์–ด์ง„ ๋‹จ์–ด๋ฅผ ๊ฐ€์ง€๊ณ  ์•„๋ž˜์™€ ๊ฐ™์€ ๊ณผ์ •์„ ํ•ด ๋ณด๋ ค๊ณ  ํ•œ๋‹ค. ๋จผ์ € ๋‹จ์–ด์—์„œ ์ž„์˜์˜ ๋‘ ๋ถ€๋ถ„์„ ๊ณจ๋ผ์„œ ๋‹จ์–ด๋ฅผ ์ชผ๊ฐ ๋‹ค. ์ฆ‰, ์ฃผ์–ด์ง„ ๋‹จ์–ด๋ฅผ ์„ธ ๊ฐœ์˜ ๋” ์ž‘์€ ๋‹จ์–ด๋กœ ๋‚˜๋ˆ„๋Š” ๊ฒƒ์ด๋‹ค

www.acmicpc.net



๐Ÿ”ธ ๋ฌธ์ œ ๋ถ„์„ ๐Ÿ”ธ

  • ๋ฌธ์ž๋ฅผ 3๊ฐœ๋กœ ๋‚˜๋ˆ ์„œ ๋’ค์ง‘๊ณ  ํ•ฉ์ณค์„๋•Œ ์‚ฌ์ „์ˆœ์œผ๋กœ ๊ฐ€์žฅ ์•ž์— ์˜ค๋Š” ๊ฒฝ์šฐ๋ฅผ ์ฐพ๋Š”๋‹ค.
  • ๋ธŒ๋ฃจํŠธํฌ์Šค ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋‹ค.

๐Ÿ”ธ ์ฝ”๋“œ ๐Ÿ”ธ

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String s = sc.next();
        int len = s.length();
        String answer = "z";

        for (int i = 0; i < len-2; i++){
            for (int j = i+1; j < len-1; j++){
                StringBuilder a = new StringBuilder(s.substring(0,i+1));
                StringBuilder b = new StringBuilder(s.substring(i+1,j+1));
                StringBuilder c = new StringBuilder(s.substring(j+1,len));
                String temp = a.reverse().toString() + b.reverse() + c.reverse();
                if (answer.compareTo(temp) > 0)
                    answer = temp;
            }
        }
        System.out.println(answer);
    }
}

๐Ÿ”ธ ์ฝ”๋“œ ํ•ด์„ ๐Ÿ”ธ

  • ํ•œ ๋ฌธ์ž์—ด์„ ์„ธ ๊ฐœ๋กœ ๋‚˜๋ˆ„๋ ค๋ฉด ๊ธฐ์ค€์ด ๋˜๋Š” ์ธ๋ฑ์Šค๊ฐ€ 2๊ฐœ ํ•„์š”ํ•˜๋‹ค.
    • 2์ค‘ for๋ฌธ์„ ๋Œ๋ ค i์™€ j๋ฅผ ๋ฐ”๊ฟ”๊ฐ€๋ฉฐ ๋ชจ๋‘ ๊ฒ€์‚ฌํ•œ๋‹ค. (๋ธŒ๋ฃจํŠธ ํฌ์Šค)
    • substring()์œผ๋กœ ๋ฌธ์ž์—ด์„ ์ž๋ฅด๊ณ , StringBuilder์˜ reverse()๋กœ ๋’ค์ง‘์–ด ํ•ฉ์ณค๋‹ค.
    • compareTo()๋ฅผ ์‚ฌ์šฉํ•ด ์‚ฌ์ „์‹ ๋น ๋ฅด๊ธฐ๋ฅผ ๊ฒ€์‚ฌํ–ˆ๋‹ค.
  • ์‚ฌ์ „์‹ ๊ฒ€์‚ฌ๋ฅผ ์œ„ํ•ด answer๋ฅผ ๊ฐ€์žฅ ๋Š๋ฆฐ "z"๋กœ ์ดˆ๊ธฐํ™”ํ–ˆ๋‹ค.
    • ๋ฌธ์ž์—ด์˜ ๊ธธ์ด๊ฐ€ 50์ด๋ผ "z" * 50 ์ธ ์ค„ ์•Œ์•˜๋Š”๋ฐ, ํ•œ ๊ธ€์ž๋ฅผ ๋จผ์ € ๋น„๊ตํ•˜๊ธฐ ๋•Œ๋ฌธ์— ํ•˜๋‚˜๋กœ ์ดˆ๊ธฐํ™” ํ•ด์•ผํ–ˆ๋‹ค.
    • A.compareTo(B)์—์„œ A๊ฐ€ B๋ณด๋‹ค ๋Š๋ฆฌ๋ฉด 1, ๋น ๋ฅด๋ฉด -1 ์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค.(A>B ์™€ A<B)

๐Ÿ”ธ end ๐Ÿ”ธ

  • ์ƒ๊ฐ๋ณด๋‹ค ๊ฐ„๋‹จํžˆ ํ’€์—ˆ๋‹ค.
  • substring(), reverse(), compareTo()๋ฅผ ์—ฐ์Šตํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค. ์•„์ง ์™„์ „ํžˆ ์ž์œ ๋กญ๊ฒŒ ๋‹ค๋ฃจ์ง€๋Š” ๋ชปํ•ด์„œ ์—ฐ์Šต์ด ํ•„์š”ํ•˜๋‹ค.
  • ํ’€์ด ๊ฒ€์‚ฌ์šฉ ์ถœ๋ ฅ๋ฌธ์„ ์ง€์šฐ์ง€ ์•Š์•„, ์ถœ๋ ฅ์ดˆ๊ณผ๊ฐ€ ํ•œ ๋ฒˆ ๋–ด๋‹ค.

728x90

'CodingTest > Java' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

BOJ_1312 : ์†Œ์ˆ˜  (0) 2022.09.18
BOJ_1094 : ๋ง‰๋Œ€๊ธฐ  (0) 2022.09.18
BOJ_15964 : ์ด์ƒํ•œ ๊ธฐํ˜ธ  (0) 2022.09.15
BOJ_11718 : ๊ทธ๋Œ€๋กœ ์ถœ๋ ฅํ•˜๊ธฐ  (0) 2022.09.15
BOJ_9086 : ๋ฌธ์ž์—ด  (0) 2022.09.15