2023. 10. 11. 10:40ใ์ธํ๋ฐ/์๋ฐ ์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ํ์ด ์ ๋ฌธ : ์ฝ๋ฉํ ์คํธ ๋๋น
https://hyejin.tistory.com/1214
-> ์ด์ ๋ฌธ์ ํ์ด
7. ์ ์ ๊ณ์ฐ
์ค๋ช
OX ๋ฌธ์ ๋ ๋ง๊ฑฐ๋ ํ๋ฆฐ ๋ ๊ฒฝ์ฐ์ ๋ต์ ๊ฐ์ง๋ ๋ฌธ์ ๋ฅผ ๋งํ๋ค.
์ฌ๋ฌ ๊ฐ์ OX ๋ฌธ์ ๋ก ๋ง๋ค์ด์ง ์ํ์์ ์ฐ์์ ์ผ๋ก ๋ต์ ๋งํ๋ ๊ฒฝ์ฐ์๋ ๊ฐ์ฐ์ ์ ์ฃผ๊ธฐ ์ํด์ ๋ค์๊ณผ ๊ฐ์ด ์ ์ ๊ณ์ฐ์ ํ๊ธฐ๋ก ํ์๋ค.
1๋ฒ ๋ฌธ์ ๊ฐ ๋ง๋ ๊ฒฝ์ฐ์๋ 1์ ์ผ๋ก ๊ณ์ฐํ๋ค. ์์ ๋ฌธ์ ์ ๋ํด์๋ ๋ต์ ํ๋ฆฌ๋ค๊ฐ ๋ต์ด ๋ง๋ ์ฒ์ ๋ฌธ์ ๋ 1์ ์ผ๋ก ๊ณ์ฐํ๋ค.
๋ํ, ์ฐ์์ผ๋ก ๋ฌธ์ ์ ๋ต์ด ๋ง๋ ๊ฒฝ์ฐ์์ ๋ ๋ฒ์งธ ๋ฌธ์ ๋ 2์ , ์ธ ๋ฒ์งธ ๋ฌธ์ ๋ 3์ , ..., K๋ฒ์งธ ๋ฌธ์ ๋ K์ ์ผ๋ก ๊ณ์ฐํ๋ค. ํ๋ฆฐ ๋ฌธ์ ๋ 0์ ์ผ๋ก ๊ณ์ฐํ๋ค.
์๋ฅผ ๋ค์ด, ์๋์ ๊ฐ์ด 10 ๊ฐ์ OX ๋ฌธ์ ์์ ๋ต์ด ๋ง์ ๋ฌธ์ ์ ๊ฒฝ์ฐ์๋ 1๋ก ํ์ํ๊ณ , ํ๋ฆฐ ๊ฒฝ์ฐ์๋ 0์ผ๋ก ํ์ํ์์ ๋,
์ ์ ๊ณ์ฐ์ ์๋ ํ์ ๊ฐ์ด ๊ณ์ฐ๋์ด, ์ด ์ ์๋ 1+1+2+3+1+2=10 ์ ์ด๋ค.
์ํ๋ฌธ์ ์ ์ฑ์ ๊ฒฐ๊ณผ๊ฐ ์ฃผ์ด์ก์ ๋, ์ด ์ ์๋ฅผ ๊ณ์ฐํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
์ ๋ ฅ
์ฒซ์งธ ์ค์ ๋ฌธ์ ์ ๊ฐ์ N (1 ≤ N ≤ 100)์ด ์ฃผ์ด์ง๋ค. ๋์งธ ์ค์๋ N๊ฐ ๋ฌธ์ ์ ์ฑ์ ๊ฒฐ๊ณผ๋ฅผ ๋ํ๋ด๋ 0 ํน์ 1์ด ๋น ์นธ์ ์ฌ์ด์ ๋๊ณ ์ฃผ์ด์ง๋ค.
0์ ๋ฌธ์ ์ ๋ต์ด ํ๋ฆฐ ๊ฒฝ์ฐ์ด๊ณ , 1์ ๋ฌธ์ ์ ๋ต์ด ๋ง๋ ๊ฒฝ์ฐ์ด๋ค.
์ถ๋ ฅ
์ฒซ์งธ ์ค์ ์ ๋ ฅ์์ ์ฃผ์ด์ง ์ฑ์ ๊ฒฐ๊ณผ์ ๋ํ์ฌ ๊ฐ์ฐ์ ์ ๊ณ ๋ คํ ์ด ์ ์๋ฅผ ์ถ๋ ฅํ๋ค.
์์ ์ ๋ ฅ 1
10
1 0 1 1 1 0 0 1 1 0
์์ ์ถ๋ ฅ 1
10
๋ฌธ์ ํ์ด 1
public int solution(int num, int[] scores)
{
int answer = 0;
int score = 0;
for (int i = 0; i< num; i++)
{
if (scores[i] == 1) {
score++;
}else {
score = 0;
}
answer += score;
}
return answer;
}
๐ฉ๐ป : ์ด ๋ฌธ์ ๋ ๋ฌธ์ ์ค๋ช ์ด ๊ธธ์ด์ ์ด๋ ค์ ๋ณด์ผ ์ ์์ง๋ง ๊ฐ๋จํ ์ ์ ๊ณ์ฐ์ด๋ค.
๋จผ์ 1์ ๋ง๋๋ฉด score์ +1 ํด์ฃผ๊ณ , 0์ ๋ง๋๋ฉด ๋ค์ score์ 0์ผ๋ก ์ด๊ธฐํํด์ฃผ๋ฉด ๋๋ค.
๊ทธ๋ฆฌ๊ณ answer์ score ๊ฐ์ ๋์ ํด์ ์ ์ฅํด์ฃผ๋ฉด ๋๋ ๋ฌธ์ ์ด๋ค !!
๋ฌธ์ ํ์ด 2
public int solution2(int n, int[] arr)
{
int answer = 0, cnt = 0;
for (int i = 0; i< n; i++)
{
if (arr[i] == 1) {
cnt++;
answer += cnt;
}else {
cnt = 0;
}
}
return answer;
}
๐พ : ๊ฐ์ฌ๋๋ ์ด๋ฒ์ ๋์ ๋์ผํ๊ฒ ํ์๋ค.. ใ ใ ์ด๋ด ๋ ๊ธฐ๋ถ ์ข์ !