seunghyun Note

[프로그래머스] - 숫자의 표현 with JAVA 본문

코딩테스트/백준

[프로그래머스] - 숫자의 표현 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
반응형