코딩테스트/백준
[프로그래머스] - 숫자의 표현 with JAVA
승숭슝현
2024. 1. 4. 11:33
728x90
반응형
링크 : https://school.programmers.co.kr/learn/courses/30/lessons/12924
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
문제 풀이
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
반응형