반응형
https://school.programmers.co.kr/learn/courses/30/lessons/12924
package Programmers;
public class 숫자의표현 {
public static void main(String[] args){
숫자의표현 T = new 숫자의표현();
int n = 15;
T.solution(n);
}
public int solution(int n) {
int answer = 0;
int sum = 0;
int lt = 1;
for (int rt = 0; rt <= n; rt++) {
sum += rt;
if(sum == n) answer++;
while (sum >= n){
sum -= lt++;
if(sum == n) answer++;
}
}
return answer;
}
}
1. 풀이
1.1) 투포인터 알고리즘으로 품.
- for문은 rt 가 n까지 증가,
- 값을 증가시키면서 n과 비교하여 같다면 answer++;
- 합한값이 n보다 크다하면 lt값을 이동시켜주면서 있던자리의 값은 빼주면 된다.
반응형
'기타 > 알고리즘' 카테고리의 다른 글
[알고리즘] 프로그래머스 - 짝지어제거하기 Lv02 Java (0) | 2023.07.18 |
---|---|
[알고리즘] 프로그래머스 - 멀리뛰기 Java Lv02 (0) | 2023.07.15 |
[알고리즘] 프로그래머스 - 최소값만들기 Lv02 Java (0) | 2023.07.04 |
[알고리즘] 프로그래머스 - 타겟넘버 LV02 Java (0) | 2023.07.04 |
[알고리즘] 프로그래머스 - 쿼드 압축 후 개수세기 LV02 Java (0) | 2023.06.26 |