๋ฌธ์
O๋ ๋ฌธ์ ๋ฅผ ๋ง์ ๊ฒ์ด๊ณ , X๋ ๋ฌธ์ ๋ฅผ ํ๋ฆฐ ๊ฒ์ด๋ค ๋ฌธ์ ๋ฅผ ๋ง์ ๊ฒฝ์ฐ ๊ทธ ๋ฌธ์ ์ ์ ์๋ ๊ทธ ๋ฌธ์ ๊น์ง ์ฐ์๋ O์ ๊ฐ์๊ฐ ๋๋ค ์๋ฅผ ๋ค์ด "OOXXOXXOOO" ์ ์ ์๋ 1+2+0+0+1+0+0+1+2+3=10์ ์ด๋ค
OXํด์ฆ์ ๊ฒฐ๊ณผ๊ฐ ์ฃผ์ด์ก์ ๋, ์ ์๋ฅผ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค
์ถ๋ ฅ
๊ฐ ํ ์คํธ ์ผ์ด์ค๋ง๋ค ์ ์๋ฅผ ์ถ๋ ฅํ๋ค
์ ๋ ฅ
5
OOXXOXXOOO
OOXXOOXXOO
OXOXOXOXOXOXOX
OOOOOOOOOO
OOOOXOOOOXOOOOX
์ถ๋ ฅ
10
9
7
55
30
์ฝ๋
#include <iostream>
int main() {
int N,sum=0,comboStack=0,idx=0;
bool combo=false;
scanf("%d",&N);
for(int i=0;i<N;i++)
{
char temp[80]; //scanf๋ string์ ๋ฐ์ ์ ์๊ธฐ ๋๋ฌธ์
scanf("%s",&temp);
while(temp[idx]!='\0'){
if(temp[idx]=='O') {
if(combo){ sum+=comboStack;} //์ฝค๋ณด์ผ ๊ฒฝ์ฐ ์ถ๊ฐ ์ ์
else {combo=true;}
comboStack++;
sum++; //O์ผ๋ ๊ธฐ๋ณธ์ ์ผ๋ก ์ถ๊ฐ๋๋ ์ ์
}
else if(temp[idx]=='X')
{
combo=false;
comboStack=0;
}
idx++;
}
printf("%d\n",sum);
sum=0;
idx=0;
comboStack=0;
}
return 0;
}
*๊ฐ๋จํ ํด์ค*
์ด ๊ธ์ ๊ฒ์์ ์ฝค๋ณด ์์คํ ๊ณผ ์ ์ฌํ๋ค. ๋ฌธ์์ด์ ๋ฐ์์ ๋ฌธ์์ด์ด null('\0')์ด ์๋๋๊น์ง ์คํํด์ ๊ฒฐ๊ณผ๊ฐ์ ๋์ถํ๋ค. ์ฝค๋ณด์ผ๊ฒฝ์ฐ comboStack์ ๊ฐ์ ์ถ๊ฐ๋ก ๋ํด์ฃผ๋๋ก ํ๋ฉฐ O์ธ ๊ฒฝ์ฐ์๋ comboStack์ ++๋ก ์์์ฃผ๋๋ก ํ๋ค. ํ์ค์ ์นด์ดํธ๊ฐ ๋ค ๋๋ ๊ฒฝ์ฐ 27~29์ ๊ฐ์ ๋ณด๋ฉด index,sum(ํฉ)๊ณผ comboStack์ ์ด๊ธฐํ ์์ผ์ฃผ์ด์ผ ํ๋ค.
*๋ฉ๋ชจ๋ฆฌ*
1984B
*์๊ฐ*
0ms
*์ธ์ด*
C++ 14
*์ฝ๋ ๊ธธ์ด*
607B
*์ด ๋ฐฉ๋ฒ๋ง์ด ๋ง๋ ์ ๋ต์ ์๋๋๋ค.
ํจ์ฌ ์ข๊ณ ๋น ๋ฅธ ๋ค๋ฅธ ์๊ณ ๋ฆฌ์ฆ์ ๊ตฌํํ ์ ์์ต๋๋ค.
์๊ณ ๋ฆฌ์ฆ ๊ณต๋ถํ์๋ ๋ถ๋ค ํ์ดํ ! '0'/*
'์๊ณ ๋ฆฌ์ฆ > BaekJoon' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
BOJ 15596๋ฒ: ์ ์ N๊ฐ์ ํฉ (0) | 2020.08.22 |
---|---|
BOJ 4344๋ฒ: ํ๊ท ์ ๋๊ฒ ์ง (0) | 2020.08.21 |
BOJ 1546๋ฒ: ํ๊ท (0) | 2020.08.13 |
BOJ 3052๋ฒ: ๋๋จธ์ง (0) | 2020.08.11 |
BOJ 2577๋ฒ: ์ซ์์ ๊ฐ์ (0) | 2020.08.10 |