본문 바로가기
Algorithm/Programmers

숫자의 표현

by 동그란 혜주 2019. 6. 4.

· 문제 설명

Finn은 요즘 수학공부에 빠져 있습니다. 수학 공부를 하던 Finn은 자연수 n을 연속한 자연수들로 표현 하는 방법이 여러개라는 사실을 알게 되었습니다. 예를들어 15는 다음과 같이 4가지로 표현 할 수 있습니다.
1 + 2 + 3 + 4 + 5 = 15
4 + 5 + 6 = 15
7 + 8 = 15
15 = 15
자연수 n이 매개변수로 주어질 때, 연속된 자연수들로 n을 표현하는 방법의 수를 return하는 solution를 완성해주세요.

 

· 제한 사항

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

 

· 입출력 예

n result
15 4

 


· Thinking 1

연속한 자연수의 덧셈..
i를 1부터 n-1까지
j를 i부터 n까지
그 전에 커지면 브레이크


· 완성 코드

class Solution {
  public int solution(int n) {
	int answer = 0;
	int cnt = 1;

	int i = 1;
	while (i < n) {
		answer = i;
		for (int j = i + 1; j <= n; j++) {
			answer += j;
			if (answer == n) {
				cnt++;
				break;
			} else if (answer > n) {
				break;
			}
		}
		i++;
	}

	return cnt;
  }
}

 


· 문제 출처

https://programmers.co.kr/learn/courses/30/lessons/12924

 

알고리즘 연습 - 숫자의 표현 | 프로그래머스

Finn은 요즘 수학공부에 빠져 있습니다. 수학 공부를 하던 Finn은 자연수 n을 연속한 자연수들로 표현 하는 방법이 여러개라는 사실을 알게 되었습니다. 예를들어 15는 다음과 같이 4가지로 표현 할 수 있습니다. 1 + 2 + 3 + 4 + 5 = 15 4 + 5 + 6 = 15 7 + 8 = 15 15 = 15 자연수 n이 매개변수로 주어질 때, 연속된 자연수들로 n을 표현하는 방법의 수를 return하는 solution를 완성해주세요. 제한사항 n

programmers.co.kr

 

'Algorithm > Programmers' 카테고리의 다른 글

영어 끝말잇기  (0) 2019.06.04
스킬 트리  (0) 2019.06.04
숫자 야구  (0) 2019.06.04
쇠 막대기  (0) 2019.06.04
소수 찾기  (0) 2019.06.04

댓글