출처: https://bumcrush.tistory.com/182 [맑음때때로 겨울]
반응형

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

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

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값을 이동시켜주면서 있던자리의 값은 빼주면 된다. 

반응형

+ Recent posts