๊ธฐ๋ก๋ฐฉ

BOJ_1343 : ํด๋ฆฌ์˜ค๋ฏธ๋…ธ ๋ณธ๋ฌธ

CodingTest/Java

BOJ_1343 : ํด๋ฆฌ์˜ค๋ฏธ๋…ธ

Soom_1n 2022. 9. 21. 15:13

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

 

1343๋ฒˆ: ํด๋ฆฌ์˜ค๋ฏธ๋…ธ

์ฒซ์งธ ์ค„์— ์‚ฌ์ „์ˆœ์œผ๋กœ ๊ฐ€์žฅ ์•ž์„œ๋Š” ๋‹ต์„ ์ถœ๋ ฅํ•œ๋‹ค. ๋งŒ์•ฝ ๋ฎ์„ ์ˆ˜ ์—†์œผ๋ฉด -1์„ ์ถœ๋ ฅํ•œ๋‹ค.

www.acmicpc.net



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

  • 'X'์™€ '.'์œผ๋กœ ์ด๋ฃจ์–ด์ง„ ๋ฌธ์ž์—ด์ด ์ž…๋ ฅ๋œ๋‹ค.
  • 'X"๋ฅผ "AAAA"์™€ "BB"๋กœ ๊ต์ฒดํ•ด์„œ ์ถœ๋ ฅํ•œ๋‹ค. ๋ถˆ๊ฐ€๋Šฅํ•˜๋ฉด -1์„ ์ถœ๋ ฅํ•œ๋‹ค.

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

import java.util.Scanner;

public class Main {
    public static String AB(String temp){
        String re = "";
        int len = temp.length();
        if (len % 2 != 0) {
            System.out.println(-1);
            System.exit(0);
        }
        for (int i = 0; i < len / 4; i++)
            re += "AAAA";
        for (int i = 0; i < (len % 4) / 2; i++)
            re += "BB";

        return re;
    }
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);

        String str = sc.next();
        String answer = "";
        String temp = "";
        for (String s : str.split("")){
            if (s.compareTo(".") == 0){
                answer += AB(temp);
                answer += ".";
                temp = "";
            }
            else {
                temp += s;
            }
        }
        answer += AB(temp);
        System.out.println(answer.substring(0,answer.length()));
    }
}

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

  • ๋ฌธ์ž์—ด์„ ์ž…๋ ฅ๋ฐ›์•„ ํ•œ ๋ฌธ์ž์”ฉ ๊ฒ€์‚ฌํ•œ๋‹ค.
    • '.' ์ด๋ฉด ์ง€๊ธˆ๊นŒ์ง€ temp ์ €์žฅํ•œ ๋ฌธ์ž์—ด์„ AB๋กœ ๋ฐ”๊ฟ”์„œ answer์— ํ•ฉ์นœ๋‹ค.
    • "."์„ answer์— ํ•ฉ์นœ๋‹ค.
    • temp๋ฅผ ์ดˆ๊ธฐํ™”ํ•œ๋‹ค.
  • X๋ฅผ A์™€ B๋กœ ๋ฐ”๊ฟ”์ฃผ๋Š” ๋ฉ”์†Œ๋“œ AB()๋ฅผ ๋”ฐ๋กœ ์ •์˜ํ•œ๋‹ค.
    • ๋ฌธ์ž์—ด์˜ ๊ธธ์ด๊ฐ€ ํ™€์ˆ˜๋ผ๋ฉด ๋ณ€ํ™˜ ๋ถˆ๊ฐ€๋Šฅ ํ•˜๋ฏ€๋กœ -1์„ ์ถœ๋ ฅํ•˜๊ณ  ํ”„๋กœ๊ทธ๋žจ์„ ์ข…๋ฃŒํ•œ๋‹ค.
    • ๋ฌธ์ž์—ด์˜ ๊ธธ์ด๋ฅผ 4๋กœ๋‚˜๋ˆˆ ๋ชซ ๋งŒํผ "AAAA"๋ฅผ ๋ฐ˜ํ™˜ ๋ฌธ์ž์—ด์— ์Œ“๋Š”๋‹ค.
    • ๋ฌธ์ž์—ด์˜ ๊ธธ์ด๋ฅผ 4๋กœ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€๋ฅผ, ๋‹ค์‹œ 2๋กœ ๋‚˜๋ˆˆ ๋ชซ ๋งŒํผ "BB"๋ฅผ ๋ฐ˜ํ™˜ ๋ฌธ์ž์—ด์— ์Œ“๋Š”๋‹ค.
    • ์Œ“์ธ ๋ฌธ์ž์—ด์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

๐Ÿ”ธ end ๐Ÿ”ธ

  • ์กฐ๊ธˆ ๊ผฌ์ผ ์ˆ˜ ์žˆ์—ˆ๋Š”๋ฐ ์ž˜ ํ’€์–ด๋‚ธ ๊ฒƒ ๊ฐ™๋‹ค.
  • '.'์ด ์—†๋Š” ๊ฒฝ์šฐ๋„ ๋ณ€ํ™˜ํ•ด์ฃผ๋Š”๊ฑธ ๋†“์ณ์„œ ๋‹ค์‹œ ์ฝ”๋“œ๋ฅผ๋ณด๊ณ  AB๋กœ ๋ณ€ํ™˜ํ•ด์ฃผ๋Š” ๋ฉ”์†Œ๋“œ๋ฅผ ๋ถ„๋ฆฌํ–ˆ๋‹ค.

728x90

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

BOJ_11669 : ๊ตฌ๊ฐ„ ํ•ฉ ๊ตฌํ•˜๊ธฐ 5  (0) 2022.09.22
BOJ_1380 : ๊ท€๊ฑธ์ด  (0) 2022.09.22
BOJ_1340 : ์—ฐ๋„ ์ง„ํ–‰๋ฐ”  (0) 2022.09.20
BOJ_1331 : ๋‚˜์ดํŠธ ํˆฌ์–ด  (0) 2022.09.19
BOJ_1312 : ์†Œ์ˆ˜  (0) 2022.09.18