백준 17299 오등큰수 JAVA

sundays·2022년 12월 28일
0

문제

오등큰수

풀이

  1. 등장한 숫자를 모두 담을 수 있게 인덱스가 숫자 등장횟수를 값 으로 넣을 배열을 선언한다
		int[] frequence = new int[1000001];
        for (int i = 0; i < n; i++) {
            data[i] = sc.nextInt();
            frequence[data[i]]++;
        }
		Stack<Integer> stack = new Stack<>();
        for (int i = 0; i < n; i++) {
            if (stack.isEmpty()) {
                stack.push(i);
            }
            while (!stack.isEmpty() && frequence[data[stack.peek()]] < frequence[data[i]]) {
                answer[stack.pop()] = data[i];
            }
            stack.push(i);
        }

        while (!stack.empty()) {
            answer[stack.pop()] = -1;
        }

전체 코드

전체 코드

profile
develop life

0개의 댓글