๋ฌธ์
"OOXXOXXOOO"์ ๊ฐ์ OXํด์ฆ์ ๊ฒฐ๊ณผ๊ฐ ์๋ค. O๋ ๋ฌธ์ ๋ฅผ ๋ง์ ๊ฒ์ด๊ณ , X๋ ๋ฌธ์ ๋ฅผ ํ๋ฆฐ ๊ฒ์ด๋ค. ๋ฌธ์ ๋ฅผ ๋ง์ ๊ฒฝ์ฐ ๊ทธ ๋ฌธ์ ์ ์ ์๋ ๊ทธ ๋ฌธ์ ๊น์ง ์ฐ์๋ O์ ๊ฐ์๊ฐ ๋๋ค. ์๋ฅผ ๋ค์ด, 10๋ฒ ๋ฌธ์ ์ ์ ์๋ 3์ด ๋๋ค.
"OOXXOXXOOO"์ ์ ์๋ 1+2+0+0+1+0+0+1+2+3 = 10์ ์ด๋ค.
OXํด์ฆ์ ๊ฒฐ๊ณผ๊ฐ ์ฃผ์ด์ก์ ๋, ์ ์๋ฅผ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
์ ๋ ฅ
์ฒซ์งธ ์ค์ ํ ์คํธ ์ผ์ด์ค์ ๊ฐ์๊ฐ ์ฃผ์ด์ง๋ค. ๊ฐ ํ ์คํธ ์ผ์ด์ค๋ ํ ์ค๋ก ์ด๋ฃจ์ด์ ธ ์๊ณ , ๊ธธ์ด๊ฐ 0๋ณด๋ค ํฌ๊ณ 80๋ณด๋ค ์์ ๋ฌธ์์ด์ด ์ฃผ์ด์ง๋ค. ๋ฌธ์์ด์ O์ X๋ง์ผ๋ก ์ด๋ฃจ์ด์ ธ ์๋ค.
์ถ๋ ฅ
๊ฐ ํ ์คํธ ์ผ์ด์ค๋ง๋ค ์ ์๋ฅผ ์ถ๋ ฅํ๋ค.
import java.io.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
int n = Integer.parseInt(br.readLine());
String[] str = new String[n];
for(int i = 0; i < n; i++) {
str[i] = br.readLine();
}
for(int i = 0; i < n; i++) {
int cnt = 0;
int sum = 0;
for(int j = 0; j < str[i].length(); j++) {
if(str[i].charAt(j) == 'O') cnt++;
else cnt = 0;
sum += cnt;
}
System.out.println(sum);
}
}
}
1. ์ ์๋ฅผ ์ ๋ ฅ๋ฐ์์ ๊ทธ ์ ์๋งํผ ์ ๋ ฅ๋ฐ๋๋ค.
2. ๋ฌธ์์ด์ ๋ฐฐ์ด๋ก ์ ์ฅํ์ฌ ํ ๋ฌถ์์ฉ ๋ถ๋ฆฌํ๋ค.
3. ์ด์ค for๋ฌธ์ ์ด์ฉํด str[i]์ ์๋ ๊ฐ์ ํ๋์ฉ ๊ฒ์ฌ(?)ํ๋ค.
str[i].charAt[j] j๋ฒ์งธ์ ์๋ ๊ฒ์ด 'O'์ด๋ฉด cnt++ ์๋๋ฉด cnt = 0 ํด์ฃผ๊ณ ๋ฐ๋ณต ๋๋๋ฉด sum์ cnt ๋์ ๊ฐ ์ ์ฅ
3-1. ์ด ๋, cnt์ sum ์ด๊ธฐํ๋ฅผ for๋ฌธ ๋ฐ์ ํ๋ฉด ๋์ ๋ ๊ฐ์ผ๋ก ๊ณ์ ๋ฐ๋ณต๋ฌธ ๋๊ธฐ ๋๋ฌธ์ for๋ฌธ ์์๋ค๊ฐ ํด์ค์ผ ํ๋ค. ๊ทธ๋์ผ ํ ์ฌ์ดํด ๋ ๋๋ง๋ค ๊ฐ์ด ์ด๊ธฐํ ๋์ด ์ ์์ ์ผ๋ก ์ถ๋ ฅ ๊ฐ๋ฅํจ..
>> ์ฒ์์ ์ด๊ฑธ ์ํด์ ๊ณ ๋ฏผํ์..๋ฐ๋ณด๊ฐ์ด..
4. ์์ชฝ for๋ฌธ ๋๋ ๋๋ง๋ค sum ์ถ๋ ฅํ๋ฉด ๋!


'๐ Algorithm > BaekJoon' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| ์๋ฐ(Java) [๋ฐฑ์ค] 11654๋ฒ : ์์คํค ์ฝ๋ (0) | 2023.01.23 |
|---|---|
| ์๋ฐ(Java) [๋ฐฑ์ค] 4344๋ฒ : ํ๊ท ์ ๋๊ฒ ์ง (0) | 2023.01.18 |
| ์๋ฐ(Java) [๋ฐฑ์ค] 1546๋ฒ : ํ๊ท (0) | 2023.01.15 |
| ์๋ฐ(Java) [๋ฐฑ์ค] 1110๋ฒ : ๋ํ๊ธฐ ์ฌ์ดํด (1) | 2023.01.15 |
| ์๋ฐ(Java) [๋ฐฑ์ค] 10951๋ฒ : A + B - 4 (0) | 2023.01.15 |