처음 풀었던 방법
public class C13 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int[] a = new int[n];
for (int i = 0; i < n; i++) {
a[i] = sc.nextInt();
}
bigNum(n, a);
sc.close();
}
private static void bigNum(int n, int[] a) {
System.out.printf("%d ", a[0]);
for (int i = 1; i < a.length; i++) {
if (a[i] > a[i - 1])
System.out.print(a[i] + " ");
}
}
}
1. 배열로 입력받고 bigNum 메서드에 넘긴다.
2. 맨 앞 사람은 무조건 출력이 되기 때문에 배열[0]을 출력시킨다.
3. 반복문 for 시작점은 1부터
4. 나머지 앞 사람보다 큰 사람만 출력을 한다.
이 후 풀이도 비슷했다.
public ArrayList<Integer> solution(int n, int[] arr) {
ArrayList<Integer> answer = new ArrayList<Integer>();
answer.add(arr[0]);
for (int i = 1; i < n; i++) {
if (arr[i] > arr[i - 1])
answer.add(arr[i]);
}
return answer;
}
'코딩테스트 문제풀이' 카테고리의 다른 글
가위 바위 보 (0) | 2022.04.04 |
---|---|
보이는 학생 (0) | 2022.04.04 |
프로그래머스 - 같은 숫자는 싫어 (0) | 2022.02.10 |
퀵 정렬(Quick Sort), 퀵 셀렉트 (0) | 2022.02.03 |
분할 (0) | 2022.02.02 |