https://codeforces.com/problemset/problem/1005/A
์ฝ๋
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
int n = Integer.parseInt(bf.readLine());
StringTokenizer st = new StringTokenizer(bf.readLine());
int[] arr = new int[n];
for(int i=0; i<arr.length; i++)
arr[i] = Integer.parseInt(st.nextToken());
int stairways = 1; // ๊ณ๋จ ์
List<Integer> list = new ArrayList<Integer>(); // ๊ฐ ๊ณ๋จ์ ํฌํจ๋ ๊ณ๋จ์
for(int i=0; i<arr.length-1; i++) {
if(arr[i] >= arr[i+1]) { // ๊ณ๋จ ์๊ฐ ๊ฐ์ํ๋ ๋ถ๋ถ -> ๊ณ๋จ ์ ์ฆ๊ฐ
stairways ++;
list.add(arr[i]);
}
}
list.add(arr[arr.length-1]); // ๋ง์ง๋ง ๊ณ๋จ์ ๋ฌด์กฐ๊ฑด ํฌํจ
System.out.println(stairways);
for(int i : list)
System.out.print(i + " ");
bf.close();
}
}
ํ์ด
์ฃผ์ด์ง ์์ ์์ ๊ณ๋จ์์, ๊ฐ ๊ณ๋จ์ ์๋ฅผ ์ถ๋ ฅํ๋ ๋ฌธ์ ๋ค.
์์์ [1, 2, 3]์ ์ธ ๊ฐ์ง๋ฆฌ ๊ณ๋จ๊ณผ [1, 2, 3, 4]์ ๋ค ๊ฐ์ง๋ฆฌ ๊ณ๋จ ๋๊ฐ๊ฐ ์๋ค.
๋ฐ๋ผ์ ์ด 2๊ฐ์ ๊ณ๋จ๊ณผ 3์นธ, 4์นธ ๊ณ๋จ์ ์ถ๋ ฅํ๋ค.
๋จผ์ ์ ๋ ฅ์ ๋ฐ๊ณ , ๋ฐฐ์ด์ ์ ์ฅํ๋ค.
arr= [1, 2, 3, 1, 2, 3, 4]
๊ทธ ํ ๋ฐฐ์ด์ ๊ฐ ์ค ์ด์ ๊ฐ๋ณด๋ค ์์์ง๋ ๊ฒฝ์ฐ[3, 1]
์๋ก์ด ๊ณ๋จ์ ์์์ด๋ฏ๋ก ๊ณ๋จ์๋ฅผ ++์์ผ์ฃผ๊ณ , ์์์ง๊ธฐ ์ ์ ๊ฐ[3]์ ArrayList์ ์ ์ฅํ๋ค.
์ ๊ณผ์ ์ ๋ฐฐ์ด์ด ๋๋ ๋๊น์ง ๋ฐ๋ณตํ๋๋ฐ, ๋ฐฐ์ด์ ๋ง์ง๋ง ๊ฐ์ ํญ์ ๊ฐ์ฅ ํฐ ๊ฐ์ด๋ฏ๋ก ArrayList์ ์ ์ฅํ๋ค.
๊ทธ ํ ๊ณ๋จ์์ ๊ฐ ๊ณ๋จ์ด ๋ช๊ฐ์ง๋ฆฌ ๊ณ๋จ์ธ์ง ์ถ๋ ฅํ๋ฉด ๋๋ค.
'Algorithm' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
ํ๋ก๊ทธ๋๋จธ์ค[Java] - (Level3)ํ๋ ธ์ด์ ํ (0) | 2020.03.17 |
---|---|
ํ๋ก๊ทธ๋๋จธ์ค[Java] - (Level3)๋ฐฉ๋ฌธ ๊ธธ์ด (0) | 2020.03.17 |
ํ๋ก๊ทธ๋๋จธ์ค[Java] - (Level2)์์ ๋์งํ (0) | 2020.03.16 |
ํ๋ก๊ทธ๋๋จธ์ค[Java] - (Level2)์ฃผ์๊ฐ๊ฒฉ (0) | 2020.03.16 |
ํ๋ก๊ทธ๋๋จธ์ค[Java] - (Level2)๊ฐ์ฅ ํฐ ์ ์ฌ๊ฐํ์ฐพ๊ธฐ(DP) (0) | 2020.03.16 |
๋๊ธ