โ ๋ฌธ์
์ค๋งํธ๋ฏธ๋์ด์ธ์ฌ๊ฐ๋ฐ์์ ์ธ์ค์ด Java ์ํ๋ฌธ์ ๋ฅผ ์ฑ์ ํ๊ณ ์๋ค.
๋ฌธ์ ๋ง๋ค 'o' ๋๋ 'x'๋ก ํ์๊ฐ ๋์ด ์๋๋ฐ ์ ์๋ฅผ ๋งค๊ธฐ๋ ๋ฐฉ์์ด ํน์ดํ๋ค.
'o'๋ ์ ์๊ฐ ๋์ ๋๋ ๋ฐฉ์์ผ๋ก ์ฑ์ ๋๋๋ฐ ์ด์ ๋ถํฐ ์์ ์ ํฌํจํ ์ฐ์๋ 'o'์ ๊ฐ์ ๋งํผ์ ์ ์๋ก ์ฑ์ ์ด ๋ฉ๋๋ค.
์๋ฅผ ๋ค์ด 'oooxoo'๋ผ๋ ํ์๊ฐ ์๋ค๋ฉด ์์๋๋ก 1+2+3+0+1+2=9 ์ผ๋ก ์ด์ ์ด ๊ณ์ฐ๋ฉ๋๋ค.
ํ์์ด ํผ ์ํ์ง์ ์ ๋ต, ์ค๋ต ์ฌ๋ถ๊ฐ ํ์๋์ด ์์ ๋ ์ด์ ์ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์ธ์.
โ ์ฝ๋
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String c = sc.nextLine();
int result = 0;
int adder = 1;
for (int i = 0; i < c.length(); i++) {
if (c.charAt(i) == 'o') {
result += adder;
adder++;
} else {
adder = 1;
}
}
System.out.println(result);
}
}
โ ์ถ๋ก ๊ณผ์
1. ๋จผ์ ์
๋ ฅ๋๊ตฌ Scanner๋ฅผ ๊บผ๋ด์์ ox๋ก ์ด๋ฃจ์ด์ง ์ฑ์ ํํฉ์ ์
๋ ฅ ๋ฐ๋๋ค.
2. ์
๋ ฅ๋ฐ์ ๊ฒ์ String ํ์
์ ๋ณ์ c์ ๋ด์์ฃผ์๋ค.
3. ์ ์ํ ๋ณ์ ๋ ๊ฐ๋ฅผ ์ ์ธํด์ค๋ค.
1) result ๋ ๊ฒฐ๊ณผ๋ฅผ ๋ด์์ค ๋ณ์์ด๋ฉฐ, ์ ์๋ฅผ ๋์ ํด์ ํฉ์ฐํด์ค ๋ณ์์ด๋ค.
2) adder ๋ณ์๋ o์ ๊ฐฏ์๊ฐ ๋์ด๋ ๋๋ง๋ค o์ ์ ์๊ฐ ๋ ๋ณ์์ด๋ค. ์ฒ์์๋ adder์ o๊ฐ ํ๊ฐ ์ผ๋ ์ ์์ธ 1์ ์ผ๋ก ์ด๊ธฐํ ํ๋ค.
4. ์
๋ ฅ๋ฐ์ ๋ฌธ์์ด์ ๊ธธ์ด๋งํผ for๋ฌธ์ ๋๋ ค์ค๋ค. charAt(i) ๋ฉ์๋๋ฅผ ์ฌ์ฉํ๋ฉด ๋ฌธ์์ด์์ ์ง์ ๋ ์ธ๋ฑ์ค์ ํด๋นํ๋ ๋ฌธ์๋ฅผ ๋ฐํํ๋ค. ๋ฌธ์์ด ํ ๊ธ์ ํ ๊ธ์์ ์ธ๋ฑ์ค๋ฅผ ํตํด ์ ๊ทผํ ์ ์๋๋ก ํด์ฃผ๋ ๋ฉ์๋์ด๋ค.
๋ฌธ์ ํ๋ํ๋๊ฐ o์ธ์ง x์ธ์ง ํ์ธํ๋ฉด์ o๊ฐ ๋ฑ์ฅํ ๋๋ง๋ค adder์ ๊ฐ์ 1์ฉ ์ฆ๊ฐํด์ค๋ค. ํ์ง๋ง ์ค๊ฐ์ x๊ฐ ๋ฑ์ฅํ๋ฉด o๋ ๋ค์ 1์ ์ด ๋์ด์ผ ํ๊ธฐ ๋๋ฌธ์, charAt(i)๊ฐ x์ด๋ฉด adder์ ๊ฐ์ 1๋ก ๋ค์ ์ด๊ธฐํ ํด ์ค๋ค.
์ด ๋ฌธ์ ๋ง ๋ณด๋ฉด ์ฝ๋ฉ ์ฒ์ ์์ํ๋ ์์ ์ด ์๊ฐ๋๋ค. ์ ํํ ์ด ๋ฌธ์ ์๋ค. ๊ทธ๋ ์ฌ๊ธฐ์ ์ ๋ณ์๋ฅผ 2๊ฐ ์ ์ธํด์ผ ํ๋์ง ๋ํต ์ดํด๊ฐ ๊ฐ์ง ์์๋ค. ๊ทธ๋์ ์ฌ๊ธฐ ์ ๊ธฐ ๋ฌผ์ด๋ณด๊ณ ๋ค๋
๋๋ฐ๋ ๊ฒฐ๊ตญ ์ ์์ํ๊ฒ ์ดํดํ์ง๋ ๋ชปํ๋ค. ํ์ง๋ง ์๊ฐ์ด ํ๋ฅธ ์ง๊ธ, ํฌ์คํ
ํ๋ ค๊ณ ๋ค์ ํ์ด ๋ณด๋๊น ์ง์ง ๋ณ ๊ฑฐ ์๋ ๋ฌธ์ ์๋ค.
์๋, ์ด๋ ๊ฒ ์ฌ์ด ๊ฒ ๊ทธ๋ ์ ์ด๋ ๊ฒ ์ด๋ ค์ ์๊น? ์ด ๊ธ์ ๋ณด์๋ ์ฌ๋ฌ๋ถ๋ค๋ ์๋ฐ๊ฐ ์ด๋ ต๋ค๋ฉด ํฌ๊ธฐํ์ง ๋ง๊ณ ์ด์ฌํ ํ์ธ์. ๋์ค์ ์กธ์
ํ์ค ๋์ฏค์ ์๋ฌด๊ฒ๋ ์๋๋ผ๊ณ ํ์ ํฉ๋๋ค... ์์
์๊ฐ์ ์น๊ตฌ๋ค์ด ํ๋ค์ด ํ ๋๋ง๋ค, ๋ ์ ์๋๊ป์ ํ์๋ ๋ง์์ด ์์๋ค. ์ฌ๋ฌ๋ถ๋ค ๋ช ๋ฌ๋ง ์ง๋๋ฉด ์ ๋ณด๋ค ํจ์ฌ ๋ ์ํ์ค๊ฑฐ์์ (์ด๊ฑฐ ์ง์ง์์!!)
์ง๊ธ ๊ณ ์์ค๋ฝ๋๋ผ๋ ์ ๊ฒฌ๋๋ด๋ฉด ๋์ค์ ์ค๋์ ์์ผ๋ฉด์ ํ์ํ ๋ ์ด ๋ฐ๋์ ์ฌ๊ฑฐ๋ผ๊ณ ์๊ฐํฉ๋๋ค^^;