https://programmers.co.kr/learn/courses/30/lessons/12924
์ฝ๋
public static int solution(int n) {
int answer = 0;
int startNum = 1;
while(startNum <= n) {
int sum = 0;
for(int i=startNum; i<=n; i++) {
sum += i;
if(sum == n) {
answer ++;
break;
}
/*
else if(sum > n)
break;
*/
}
startNum ++;
}
return answer;
}
ํ์ด
n์ด 15์ผ ๊ฒฝ์ฐ ์๋ก๋ค๋ฉด,,
1+2+3+4+5 = 15
4+5+6 = 15
7+8 = 15
15 = 15
์ด ๋ค๊ฐ์ง์ ๋ฐฉ๋ฒ์ด ์๋ค.
startNum ์ด ์ ๋ ฅ๋ฐ์ n๋ณด๋ค ์์๋๊น์ง ๋ฐ๋ณตํ๋ค.
(startNum์ ๋ํ ๋ ๊ฐ์ฅ ์ฒซ ์ซ์. 1+2+3+4+5 ์์๋ 1, 4+5+6 ์์๋ 4๊ฐ ๋๋ค.)
for๋ฌธ์์ i๋ฅผ startNum ๋ถํฐ์์ํด์ ๋ํด์ค๋ค.
๋ง์ฝ sum์ด n๊ณผ ๊ฐ๋ค๋ฉด, answer์ +1์ฉ ํ๊ณ breakํตํด ๋น ์ ธ๋๊ฐ๋ค.
for๋ฌธ์ด ์ ๋ถ๋๋ ์ startNum์ +1์ฉ ์ฆ๊ฐ์ํจ๋ค.
์์ ๊ฐ์ด ํ๊ณ ์ ์ถํ๋ ํ ์คํธ์ผ์ด์ค๋ ์ ๋ถ ๋ง๋๋ฐ ํจ์จ์ฑ์์ ์คํจ๊ฐ ๋ฌ๋ค...
๊ทธ๋์ sum์ i๊ฐ์ ๋ํ๊ณ , sum์ด ์ ๋ ฅ๋ฐ์ n๋ณด๋ค ์ปค์ง๋ฉด ๊ทธ ์ดํ๋ ํ๋จํ ํ์๊ฐ ์์ด์ ๋น ์ ธ๋์์ฃผ์๋๋ ํต๊ณผ๋ฅผ ํ๋ค.(์์์ ์ฃผ์์น ๋ถ๋ถ ์ ๊ฑฐ)
/*
else if(sum > n)
break;
*/
๋ค๋ฅธ ํ์ด
public class Expressions {
public int expressions(int num) {
int answer = 0;
for (int i = 1; i <= num; i += 2) {
if (num % i == 0) {
answer++;
}
}
return answer;
}
public static void main(String args[]) {
Expressions expressions = new Expressions();
// ์๋๋ ํ
์คํธ๋ก ์ถ๋ ฅํด ๋ณด๊ธฐ ์ํ ์ฝ๋์
๋๋ค.
System.out.println(expressions.expressions(15));
}
}
์ฃผ์ด์ง ์์ฐ์๋ฅผ ์ฐ์๋ ์์ฐ์์ ํฉ์ผ๋ก ํํํ๋ ๋ฐฉ๋ฒ์ ์๋ ์ฃผ์ด์ง ์์ ํ์ ์ฝ์์ ๊ฐ์์ ๊ฐ๋ค๋ผ๋ ์ ์๋ก ์ ๋ฆฌ๊ฐ ์์ต๋๋ค.
class Solution {
public int solution(int n) {
int answer = 0;
for(int i=1; i<=n; i++) {
int sum = 0;
for(int j=i; j<=n; j++) {
sum += j;
if(sum==n) {
answer++;
break;
} else if(sum>n)
break;
}
}
return answer;
}
}
'Algorithm' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค] 10815๋ฒ: ์ซ์ ์นด๋ (0) | 2020.01.22 |
---|---|
ํ๋ก๊ทธ๋๋จธ์ค[Java] - ํฐ ์ ๋ง๋ค๊ธฐ (0) | 2020.01.22 |
[๋ฐฑ์ค] 2164๋ฒ: ์นด๋2(ํ) (0) | 2020.01.21 |
[๋ฐฑ์ค] 13458๋ฒ: ์ํ๊ฐ๋ (0) | 2020.01.21 |
[๋ฐฑ์ค] 11651๋ฒ: ์ขํ ์ ๋ ฌํ๊ธฐ2 (0) | 2020.01.20 |
๋๊ธ