seunghyun Note
[프로그래머스] - 숫자의 표현 with JAVA 본문
728x90
반응형
링크 : https://school.programmers.co.kr/learn/courses/30/lessons/12924
문제 풀이
2중 for 문을 통해 끝자리 수부터 sum보다 크거나 같으면 break
break 후에도 같으면 cnt++
코드 효율을 높이기 위해 큰 수부터 실행한다.
class Solution {
public int solution(int n) {
int cnt=0;
for(int i=n;i>=1;i--){
int sum=0;
for(int j=i; j>=1;j--){
sum+=j;
if(sum >= n) break;
}
if(sum == n) cnt++;
}
return cnt;
}
}
다른 풀이
정수론...?? 그렇단다.. 이상하다..
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));
}
}
728x90
반응형
'코딩테스트 > 백준' 카테고리의 다른 글
[프로그래머스] - 최솟값 만들기 with JAVA (1) | 2024.01.04 |
---|---|
[프로그래머스] - 올바른 괄호 with JAVA (1) | 2024.01.04 |
[프로그래머스] - 다음 큰 숫자 with JAVA (1) | 2024.01.04 |
[프로그래머스] - 짝지어 제거하기 with JAVA (0) | 2024.01.04 |
[프로그래머스] - 카페 with JAVA (0) | 2024.01.04 |