• 카테고리

    질문 & 답변
  • 세부 분야

    알고리즘 · 자료구조

  • 해결 여부

    미해결

[응급실] 질문 드립니다.

23.02.06 22:11 작성 23.02.06 22:11 수정 조회수 90

0

선생님 안녕하세요

응급실 문제를 제가 처음 푼 방식대로 채점을 받아 보았는데,

문제에 있는 예시 문제는 제대로 통과가 되었는데요.

채점 사이트 내에 있는 예시는 오답이 나와 질문 드립니다.

 

같은 위험도를 가진 수가 나오는 경우) idx가 작거나 같으면 answer++;

하는 방식으로 문제를 구현하였습니다.


public class Main{
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int m = sc.nextInt();

        int M = 0;
        Queue queue = new LinkedList();
        for (int i=0; i<n; i++){
            int a = sc.nextInt();
            queue.offer(a);
            if(i == m){
                M = a;
            }

        }

        System.out.println(solution(n,m,M,queue));
    }

    private static int solution(int n, int m, int M, Queue queue) {
        int answer =0;
        for (int i=0; i < n; i++){
            int que = (int)queue.poll();
            if(que > M){
                answer++;
            }
            else if(que == M && i <= m){
                answer++;
            }
        }
        return answer;
    }
}

답변 1

답변을 작성해보세요.

0

김유중님의 프로필

김유중

23.02.08 21:49

예시는 지정한 순번 전에 중복되는 숫자가 없어서 통과되는 것이고

채점에서 오답나는 이유는 지정된 숫자 이전에 중복되는 숫자가 존재하는데

첫번째 숫자 체크하고 출력해버려서 틀리는거에요

저도 여기서 애먹었습니다..