문제설명
초 단위로 기록된 주식가격이 담긴 배열 prices가 매개변수로 주어질 때, 가격이 떨어지지 않은 기간은 몇 초인지를 return 하도록 solution 함수를 완성하세요.
제한사항
- prices의 각 가격은 1 이상 10,000 이하인 자연수입니다.
- prices의 길이는 2 이상 100,000 이하입니다.
해결 방법
배열 인덱스마다 값이 작을때까지 인덱스를 하나씩 늘려가며 값을 비교해 비교연산의 길이를 출력한다.
JAVA
package programmers;
import java.util.*;
public class p_42584 {
public static int[] solution(int[] a) {
int[] r = new int[a.length];
for(int i = 0; i < r.length - 1; i++) {
int cnt = 1;
for(int j = i + 1; j < r.length - 1; j++) {
if(a[i] <= a[j]) cnt++;
else break;
}
r[i] = cnt;
}
return r;
}
public static void main(String[] args) {
int[] a = {1, 2, 3, 2, 3};
int[] r = solution(a);
for(int tmp : r) {
System.out.println(tmp);
}
}
}
'Problem Solving > Programmers' 카테고리의 다른 글
[프로그래머스] 가장 큰 수 (0) | 2020.04.01 |
---|---|
[프로그래머스] 쇠막대기 (0) | 2020.04.01 |
[프로그래머스] 프린터 (0) | 2020.04.01 |
[프로그래머스] 방금그곡 (0) | 2020.04.01 |
[프로그래머스] 압축 (2) | 2020.04.01 |
댓글