๐ฅDAY +9
https://programmers.co.kr/learn/courses/30/lessons/77884?language=java
> ๋ฌธ์ ๋ฅผ ๋ณด๊ณ ์ถ๋ค๋ฉด ๋๋ณด๊ธฐ ํด๋ฆญ!
๋ฌธ์ ์ค๋ช
๋ ์ ์ left์ right๊ฐ ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง๋๋ค. left๋ถํฐ right๊น์ง์ ๋ชจ๋ ์๋ค ์ค์์, ์ฝ์์ ๊ฐ์๊ฐ ์ง์์ธ ์๋ ๋ํ๊ณ , ์ฝ์์ ๊ฐ์๊ฐ ํ์์ธ ์๋ ๋บ ์๋ฅผ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์.
์ ํ์ฌํญ
- 1 ≤ left ≤ right ≤ 1,000
์ ์ถ๋ ฅ ์leftrightresult
13 | 17 | 43 |
24 | 27 | 52 |
์ ์ถ๋ ฅ ์ ์ค๋ช
์ ์ถ๋ ฅ ์ #1
- ๋ค์ ํ๋ 13๋ถํฐ 17๊น์ง์ ์๋ค์ ์ฝ์๋ฅผ ๋ชจ๋ ๋ํ๋ธ ๊ฒ์ ๋๋ค.
13 | 1, 13 | 2 |
14 | 1, 2, 7, 14 | 4 |
15 | 1, 3, 5, 15 | 4 |
16 | 1, 2, 4, 8, 16 | 5 |
17 | 1, 17 | 2 |
- ๋ฐ๋ผ์, 13 + 14 + 15 - 16 + 17 = 43์ return ํด์ผ ํฉ๋๋ค.
์ ์ถ๋ ฅ ์ #2
- ๋ค์ ํ๋ 24๋ถํฐ 27๊น์ง์ ์๋ค์ ์ฝ์๋ฅผ ๋ชจ๋ ๋ํ๋ธ ๊ฒ์ ๋๋ค.
24 | 1, 2, 3, 4, 6, 8, 12, 24 | 8 |
25 | 1, 5, 25 | 3 |
26 | 1, 2, 13, 26 | 4 |
27 | 1, 3, 9, 27 | 4 |
- ๋ฐ๋ผ์, 24 - 25 + 26 + 27 = 52๋ฅผ return ํด์ผ ํฉ๋๋ค.
๐ฅ [๋ก์ง]
1. for๋ฌธ์ ๋๋ ค left ๋ถํฐ right ๊ฐ๊น์ง ์ฐจ๋ก๋ก ํ์ธ
2. i๊ฐ(ํ์ธํ ๊ฐ)์ด ์ฝ์์ธ์ง ์๋์ง ํ๋ณ (๋ด๋ถ for๋ฌธ ์ฌ์ฉ -> 2๋ถํฐ i๊ฐ๊น์ง์ ์๊ฐ i๋ก ๋๋์ด๋จ์ด์ง๋์ง ํ์ธ)
๋๋์ด๋จ์ด์ง๋ ๊ฒฝ์ฐ ์นด์ดํธ ์ฆ๊ฐ
3. ์นด์ดํธ๊ฐ ์ง์์ธ๊ฒฝ์ฐ i๊ฐ answer์ ๋ํด์ฃผ๊ธฐ, ์๋๊ฒฝ์ฐ(ํ์์ธ๊ฒฝ์ฐ) answer์ ๋นผ์ฃผ๊ธฐ
๐ฅ [์ต์ข ์ฝ๋]
import java.util.*;
class Solution {
public int solution(int left, int right) {
int answer = 0;
for(int i = left; i < right+1; i++) {
int cnt = 1;
for(int j = 2; j <= i; j++){
if(i % j == 0) //์ฝ์์ธ ๊ฒฝ์ฐ
cnt++;
}
if(cnt % 2 == 0) //์ง์์ธ๊ฒฝ์ฐ ๋ง์
answer += i;
else
answer -= i;
}
return answer;
}
}
๐ฅ [์๊ฐ]
์์ด๋์ด ์๊ฐ์ ์ด๋ ต์ง ์๊ฒ ํ ๊ฒ ๊ฐ์๋ฐ.. for๋ฌธ์ ๋๋ฒ์ด๋ ์ฌ์ฉํด์ ํจ์จ์ฑ์ด ๋จ์ด์ง์ง ์์๊น ๊ณ ๋ฏผํ๋ค.
๋ด๊ฐ ๊ฐ์ง ์์ด๋์ด๋ ์ด๊ฒ ๋ค๋ผ ๊ฒฐ๊ตญ ์ ์ถํ์ง๋ง ์๊ฐ์ด๊ณผ๋ ๋คํํ ๋จ์ง๋ ์์๋ค!
๋ค๋ฅธ ์ฌ๋์ ํ์ด๋ ๋ดค๋๋ฐ ์ฝ์์ธ์ง๋ฅผ ํ์ธํ๋ ๊ณผ์ ์์ ๊ตณ์ด i๊น์ง๋ฅผ ํ์ธํ ๊ฒ์ด ์๋๋ผ i/2๊น์ง๋ง ํ์ธํด๋ ๋๋ค๋ ๊ฒ์ ์์๋ค.
์ด์ฐจํผ i/2๋ฅผ ๋์ด์ ์๊ฐ๋ถํฐ๋ i๋ง๊ณ ๋ ์ฝ์๊ฐ ์๊ธฐ ๋๋ฌธ์ ์ด๋ฅผ ์ ํ์ฉํ๋ฉด ํจ์จ์ฑ์ ํ์คํ ๋ฎ์ถ ์ ์๋ค.
๊ทธ๋ฆฌ๊ณ
if (i % Math.sqrt(i) == 0) {
๋ฅผ ์ด์ฉํด for๋ฌธ์ ํ๋ฒ ์ฌ์ฉํ๋ ํ์ด๋ ์์๋๋ฐ ์ ๊ณฑ์๊ฐ ๋์ฌ ๊ฒฝ์ฐ์๋ง ์ฝ์์ ๊ฐ์๊ฐ ํ์๋ผ๋ ์ ์ ์ด์ฉํ ๊ฒ ๊ฐ๋ค.
ํ์ด๋ฅผ ๋ณด๊ณ ๋์์ผ ๊ฒจ์ฐ ์ดํดํ๊ฒ ๋๊ฑฐ๋ผ .. ใ ใ ์ ๋ง ์ธ์์ ์ฒ์ฌ๊ฐ ๋ง๋ค๋ ์ฌ์ค์ ๋ค์ํ๋ฒ ๊นจ๋ซ๊ฒ ๋๋ค..ใ ใ ..
์ฝํ ์ค๋น๋ฅผ ๋ณธ๊ฒฉ์ ์ผ๋ก ์์ํ์ง ์ผ๋ง ๋์ง ์์ ์ฝ๋์ ๋ฏธํกํ ์ ์ด ๋ง์ ์ ์์ต๋๋ค.
๋ถ์กฑํ ์ ํผ๋๋ฐฑ ์ฃผ์๋ฉด ์์ผ๋ก์ ํฌ์คํ ์ ๋ฐ์ํ๊ฒ ์ต๋๋ค! ๋ด์ฃผ์ ์ ์ ๋ง ๊ฐ์ฌํฉ๋๋ค :)
-budtree