๐Ÿงฉ Algorithm/[BOJ] Bronze

BOJ 11721 : ์—ด ๊ฐœ์”ฉ ๋Š์–ด ์ถœ๋ ฅํ•˜๊ธฐ (Java/๊ตฌํ˜„/Bronze 3)

devCloud 2024. 10. 14. 17:48
728x90

[๋ฌธ์ œ ๋งํฌ] ๐Ÿ‘‰ https://www.acmicpc.net/problem/11721


์„ค๋ช…

์ž…๋ ฅ์œผ๋กœ ์ฃผ์–ด์ง„ ๋‹จ์–ด๋ฅผ ์—ด ๊ฐœ์”ฉ ๋Š์–ด์„œ ํ•œ ์ค„์— ํ•˜๋‚˜์”ฉ ์ถœ๋ ฅํ•œ๋‹ค. ๋‹จ์–ด์˜ ๊ธธ์ด๊ฐ€ 10์˜ ๋ฐฐ์ˆ˜๊ฐ€ ์•„๋‹Œ ๊ฒฝ์šฐ์—๋Š” ๋งˆ์ง€๋ง‰ ์ค„์—๋Š” 10๊ฐœ ๋ฏธ๋งŒ์˜ ๊ธ€์ž๋งŒ ์ถœ๋ ฅํ•  ์ˆ˜๋„ ์žˆ๋‹ค.

 

ํ’€์ด

sol.1

์นด์šดํŠธ ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. for๋ฌธ์—์„œ ๊ธ€์ž๋ฅผ ํ•œ ์ค„์— ๊ณ„์† ์ถœ๋ ฅํ•˜๋ฉด์„œ ์นด์šดํŠธ ๊ฐ’๋„ ํ•˜๋‚˜์”ฉ ๋Š˜๋ฆฐ๋‹ค.

์นด์šดํŠธ ๊ฐ’์ด 10์ด ๋˜๋ฉด ์นด์šดํŠธ ๋ณ€์ˆ˜๋ฅผ 0์œผ๋กœ ์ดˆ๊ธฐํ™”ํ•˜๊ณ  ๋‹ค์Œ์ค„๋กœ ๋„˜์–ด๊ฐ€์„œ ์ถœ๋ ฅํ•˜๋„๋ก ํ•œ๋‹ค.

 

length()

๋ฌธ์ž์—ด์˜ ๊ธธ์ด๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

 

charAt()

์ž๋ฐ”์—์„œ String ํด๋ž˜์Šค์— ํฌํ•จ๋œ ๋ฉ”์„œ๋“œ๋กœ, ๋ฌธ์ž์—ด์—์„œ ํŠน์ • ์ธ๋ฑ์Šค์— ์žˆ๋Š” ๋ฌธ์ž๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค. ์ด ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ฌธ์ž์—ด์˜ ๊ฐ ๋ฌธ์ž์— ์ง์ ‘ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋‹ค.

char ch = str.charAt(index);

 

  • str : ๋ฌธ์ž์—ด ๋ณ€์ˆ˜์ž…๋‹ˆ๋‹ค.
  • index : ๊ฐ€์ ธ์˜ค๋ ค๋Š” ๋ฌธ์ž์˜ ์œ„์น˜๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ์ •์ˆ˜์ž…๋‹ˆ๋‹ค. ์ธ๋ฑ์Šค๋Š” 0๋ถ€ํ„ฐ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค.
  • ch : ํ•ด๋‹น ์ธ๋ฑ์Šค์— ์žˆ๋Š” ๋ฌธ์ž๋ฅผ ์ €์žฅํ•  ๋ณ€์ˆ˜์ž…๋‹ˆ๋‹ค. ์ด ๋ณ€์ˆ˜์˜ ํƒ€์ž…์€ char์ž…๋‹ˆ๋‹ค.

 

 

sol.2

for๋ฌธ์—์„œ i๋ฅผ 0๋ถ€ํ„ฐ input.length()๊นŒ์ง€ 10์”ฉ ์ฆ๊ฐ€์‹œํ‚ค๋ฉฐ ๋ฌธ์ž์—ด์„ 10๊ธ€์ž์”ฉ ์ถœ๋ ฅํ•œ๋‹ค. substring ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ i๋ถ€ํ„ฐ i + 10๊นŒ์ง€์˜ ๋ฌธ์ž์—ด์„ ์ถ”์ถœํ•œ๋‹ค. ๋‹จ, ๋ฌธ์ž์—ด์˜ ๊ธธ์ด๊ฐ€ 10๋ณด๋‹ค ์งง์€ ๊ฒฝ์šฐ๋„ ์žˆ์œผ๋ฏ€๋กœ Math.min์„ ์‚ฌ์šฉํ•ด ๋ฒ”์œ„๋ฅผ ์กฐ์ ˆํ•œ๋‹ค.

 

substring()

String ํด๋ž˜์Šค์— ํฌํ•จ๋œ ๋ฉ”์„œ๋“œ๋กœ, ๋ฌธ์ž์—ด์˜ ํŠน์ • ๋ถ€๋ถ„์„ ์ถ”์ถœํ•˜์—ฌ ์ƒˆ๋กœ์šด ๋ฌธ์ž์—ด์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค. ์ด ๋ฉ”์„œ๋“œ๋Š” ๋‘ ๊ฐ€์ง€ ํ˜•ํƒœ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ์‹œ์ž‘ ์ธ๋ฑ์Šค๋งŒ ์ง€์ •ํ•˜๋Š” ๊ฒฝ์šฐ์™€ ์‹œ์ž‘ ๋ฐ ๋ ์ธ๋ฑ์Šค๋ฅผ ๋ชจ๋‘ ์ง€์ •ํ•˜๋Š” ๊ฒฝ์šฐ์ด๋‹ค.

String str = substring(int beginIndex, int endIndex)
  • ๋ฌธ์ž์—ด์˜ beginIndex๋ถ€ํ„ฐ endIndex๊นŒ์ง€์˜ ๋ถ€๋ถ„ ๋ฌธ์ž์—ด์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค. (๋‹จ, endIndex๋Š” ํฌํ•จ๋˜์ง€ ์•Š์Œ)

 

Solution

sol.1

import java.io.*;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String word = br.readLine();
        int cnt = 0;
        for (int i = 0; i < word.length(); i++) {
            System.out.print(word.charAt(i));
            cnt += 1;
            if (cnt == 10) {
                cnt = 0;
                System.out.println();
            }
        }
    }
}

 

 

sol.2

import java.io.*;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String word = br.readLine();
        
        for (int i = 0; i < word.length(); i += 10) {
            System.out.println(word.substring(i, Math.min(i + 10, word.length())));
        }
    }
}

 

728x90