코딩테스트(Level 2)

[JAVA, Programmers] 숫자의 표현(자바)

justdoIT0730 2022. 12. 4. 17:28
728x90
728x90

1. 문제 설명

Finn 요즘 수학공부에 빠져 있습니다. 수학 공부를 하던 Finn 자연수 n 연속한 자연수들로 표현 하는 방법이 여러개라는 사실을 알게 되었습니다. 예를들어 15 다음과 같이 4가지로 표현 있습니다.

 

1 + 2 + 3 + 4 + 5 = 15

4 + 5 + 6 = 15

7 + 8 = 15

15 = 15

 

자연수 n 매개변수로 주어질 , 연속된 자연수들로 n 표현하는 방법의 수를 return하는 solution 완성해주세요.

 

2. 제한사항

n 10,000 이하의 자연수 입니다.

 

3. 입출력

n result
15 4

 

4. 입출력 설명

- 입출력 #1
문제의 예시와 같습니다.

 

5. 풀이

class Solution {
	public int solution(int n) {
	int answer = 0;
	for(int y=1; y<=n; y++ ) {
		int c=0;
		for(int i=y; i<=n;i++ ) {
			c+=i;
			if(c>n) {break;}//1
			else if(c==n) {answer++;} 
		}
	}
	return answer;
	}
}

//1

굳이 연속된 수의 합이 n값 초과일 때는 할 필요가 없었다.

처음에 break 문을 적지 않고 문제를 제출하니 효율성 테스트에서 통과가 안 되어서 추가를 했다.

 

728x90
728x90