8958 OXํ€ด์ฆˆ

JHยท2022๋…„ 11์›” 27์ผ

Baekjoon (Java)

๋ชฉ๋ก ๋ณด๊ธฐ
13/25

๐Ÿ“˜ Question

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

๋ฌธ์ œ

"OOXXOXXOOO"์™€ ๊ฐ™์€ OXํ€ด์ฆˆ์˜ ๊ฒฐ๊ณผ๊ฐ€ ์žˆ๋‹ค. O๋Š” ๋ฌธ์ œ๋ฅผ ๋งž์€ ๊ฒƒ์ด๊ณ , X๋Š” ๋ฌธ์ œ๋ฅผ ํ‹€๋ฆฐ ๊ฒƒ์ด๋‹ค. ๋ฌธ์ œ๋ฅผ ๋งž์€ ๊ฒฝ์šฐ ๊ทธ ๋ฌธ์ œ์˜ ์ ์ˆ˜๋Š” ๊ทธ ๋ฌธ์ œ๊นŒ์ง€ ์—ฐ์†๋œ O์˜ ๊ฐœ์ˆ˜๊ฐ€ ๋œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, 10๋ฒˆ ๋ฌธ์ œ์˜ ์ ์ˆ˜๋Š” 3์ด ๋œ๋‹ค.

"OOXXOXXOOO"์˜ ์ ์ˆ˜๋Š” 1+2+0+0+1+0+0+1+2+3 = 10์ ์ด๋‹ค.

OXํ€ด์ฆˆ์˜ ๊ฒฐ๊ณผ๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, ์ ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค.

์ž…๋ ฅ

์ฒซ์งธ ์ค„์— ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค์˜ ๊ฐœ์ˆ˜๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๊ฐ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค๋Š” ํ•œ ์ค„๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๊ณ , ๊ธธ์ด๊ฐ€ 0๋ณด๋‹ค ํฌ๊ณ  80๋ณด๋‹ค ์ž‘์€ ๋ฌธ์ž์—ด์ด ์ฃผ์–ด์ง„๋‹ค. ๋ฌธ์ž์—ด์€ O์™€ X๋งŒ์œผ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋‹ค.

์ถœ๋ ฅ

๊ฐ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค๋งˆ๋‹ค ์ ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.

โœ๏ธ Answer

์ƒ๊ฐ

  1. ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค๋ฅผ ์ž…๋ ฅ๋ฐ›๊ณ  ๋ฐ˜๋ณต๋ฌธ ๋งŒ๋“ค๊ธฐ
  2. split()์„ ์‚ฌ์šฉํ•ด์„œ X๋งˆ๋‹ค ๋‚˜๋ˆ„๊ณ  ๋ฐฐ์—ด์— ํ• ๋‹นํ•˜๊ธฐ
  3. ์—ฐ์†๋œ O์˜ ๊ฐœ์ˆ˜๋งŒํผ ๋”ํ•ด์„œ ์ด ์ ์ˆ˜ ์ถœ๋ ฅํ•˜๊ธฐ
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);

        int testCase = sc.nextInt();

        for (int k=0; k < testCase; k++){
            String answer = sc.next();
            String[] answerArr = answer.split("X");

            int score = 0;

            for (int i = 0; i < answerArr.length; i++) {
                for (int j = 1; j < answerArr[i].length() + 1; j++) {
                    score += j;
                }
            }
            System.out.println(score);
        }
    }
}
profile
๋งค์ผ ํ•œ ๋ฌธ์ œ์”ฉ ํ’€๊ธฐ

0๊ฐœ์˜ ๋Œ“๊ธ€