(풀이)
import java.util.*;
class Main {
public int solution(int n){
int answer=0, sum=0;
int m=n/2+1;
int[] arr=new int[m];
for(int i=0; i<m; i++) arr[i]=i+1;
for(int rt=0; rt<m; rt++){
sum+=arr[rt];
if(sum==n) answer++;
while(sum>=n){
sum-=arr[lt++];
if(sum==n) answer++;
}
}
return answer;
}
public static void main(String[] args){
Main T = new Main();
Scanner kb = new Scanner(System.in);
int n=kb.nextInt();
System.out.print(T.solution(n));
}
}
(풀이 2)
import java.util.*;
class Main {
public int solution(int n){
int answer=0, cnt=1;
n--;
while(n>0){
cnt++;
n=n-cnt;
if(n%cnt==0) answer++;
}
return answer;
}
public static void main(String[] args){
Main T = new Main();
Scanner kb = new Scanner(System.in);
int n=kb.nextInt();
System.out.print(T.solution(n));
}
}
'취업준비 - 코테 , 면접 > 알고리즘(코테) 공부' 카테고리의 다른 글
알고리즘입문(Java) - HashMap,TreeSet 1.학급회장 (0) | 2023.03.17 |
---|---|
알고리즘입문(Java) - [효율성 : O(n^2)-->O(n)] 6.최대 길이 연속부분수열 (0) | 2023.03.14 |
알고리즘입문(Java) - [효율성 : O(n^2)-->O(n)] 4.연속부분수열 (1) | 2023.03.14 |
알고리즘입문(Java) - [효율성 : O(n^2)-->O(n)] 3.최대매출 (0) | 2023.03.12 |
알고리즘입문(Java) - [효율성 : O(n^2)-->O(n)] 2.공통원소구하기 (0) | 2023.03.12 |