[BaekJoon] 1668 트로피 진열 (java)

SeongWon Oh·2021년 10월 3일
0
post-thumbnail

🔗 문제 링크

https://www.acmicpc.net/problem/1668

❗주의할 점
반복문을 돌며 현재 트로피가 이전 트로피의 높이보다 작다고 반복문을 멈추면 안된다!
그 뒤에 현재 보이는 트로피보다 더 높은 트로피가 존재할 수 있어서 max변수를 업데이트하면서 max값과 현재 트로피의 높이를 비교하며 모든 트로피에 대해 탐색을 해야한다.


👨🏻‍💻 작성한 코드

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;

public class Main {

	public static void main(String[] args) throws Exception {
		// TODO Auto-generated method stub
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
		
		int num = Integer.parseInt(br.readLine());
		int[] arr = new int[num];
		int count = 0;
		int max = 0;
		
		// 값을 배열에 추가하며 왼쪽에서 봤을때 보이는 개수 카운트
		for (int i=0; i<num; i++) {
			arr[i] = Integer.parseInt(br.readLine());
			if (i == 0) {
				max = arr[i];
				count++;
				continue;
			}
			if (max < arr[i]) {
				max = arr[i];
				count++;
			}	
		}
		
		bw.write(count+"\n");
		
		// 오른쪽에서 봤을 때 보이는 개수 카운트
		count = 1;
		max = arr[num-1];
		for (int i=num-2; i>=0; i--) {
			if (max < arr[i]) {
				max = arr[i];
				count++;
			}		
		}
		bw.write(count+"\n");
		
		bw.flush();
		bw.close();
	}
}
profile
블로그 이전했습니다. -> https://seongwon.dev/

0개의 댓글