일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 파이썬
- MYSQL
- Baekjoon
- linux
- modern c++
- programmers
- 회원가입
- Gem
- SECS-II
- java
- python
- regression
- spring boot
- 프로그래머스
- Spring
- C++
- CS
- 자바
- Computer Science
- spotify
- SW Expert Academy
- SWEA
- Spring JPA
- SECS
- Spotify Api
- SECS/GEM
- 스포티파이
- 회귀
- 백준
- c
Archives
- Today
- Total
비버놀로지
[Programmers 프로그래머스] 12924 숫자의 표현 (JAVA) 본문
728x90
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은 10,000 이하의 자연수 입니다.
입출력 예
n | result |
15 | 4 |
2중 for문을 활용을 해서 문제를 해결했습니다.
그리고 뒤에서 부터 순차적으로 값을 계산할 수 있도록 했습니다.
class Solution {
public int solution(int n) {
int answer = 1;
int num = 0;
for (int i = n - 1; i > 0; i--) {
num += i;
for (int j = i - 1; j > 0; j--) {
num += j;
if (num == n) {
answer++;
num = 0;
break;
} else if (num > n) {
num = 0;
break;
}
}
num = 0;
}
return answer;
}
}
728x90
'ALGORITM > JAVA' 카테고리의 다른 글
[Programmers 프로그래머스] 17687 n진수 게임 (JAVA) (0) | 2021.07.05 |
---|---|
[Programmers 프로그래머스] 12945 피보나치 수 (JAVA) (0) | 2021.07.05 |
[Programmers 프로그래머스] 42895 N으로 표현 (JAVA) (0) | 2021.07.02 |
[Programmers 프로그래머스] 43105 정수 삼각형 (JAVA) (0) | 2021.07.02 |
[Programmers 프로그래머스] 42861 섬 연결하기 (JAVA) (0) | 2021.07.02 |
Comments