본문 바로가기

Algorithm/CodeUp

[CodeUp_Java] Q1720 : 틀린 테스트케이스를 찾아라

반응형

안녕하세요! Plitche(플리체)입니다.
이번 포스팅의 주제는 Q1720 틀린 테스트케이스를 찾아라 (자바, JAVA)입니다.

Intro

Question

문제 설명

입력

첫 번째 줄에 테스트케이스의 갯수 n이 입력된다.(0<n<=100)
그 다음 1..n줄까지 input 데이터 3개, 테스트 케이스의 output이 공백으로 분리되어 입력된다.

출력

테스트케이스가 틀렸으면, 테스트케이스의 번호와 정답을 출력한다.
틀린 테스트케이스가 없으면 –1을 출력한다.
틀린 테스트케이스가 2개 이상이면, 가장 먼저 나온 틀린 테스트케이스의 경우로 출력한다.

예시

  • 입력 :
    3
    3 5 8 3
    3 9 8 8
    8 3 9 3
  • 출력 : 2 3

Solution (풀이)

  • 풀이 : 메모리 11316, 시간 : 68
public class Answer1 {

    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringBuilder sb = new StringBuilder();
        int count = Integer.parseInt(br.readLine());
        StringTokenizer st;

        int[] arr;
        int many = 0;
        // 테스트케이스 개수만큼 반복
        for(int i=0; i<count; i++) {
            st  = new StringTokenizer(br.readLine(), " ");
            arr = new int[3];

            int result;
            for (int j=0; j<3; j++) { // 각 테스트케이스마다 토큰에서 꺼내어 배열에 저장
                arr[j] = Integer.parseInt(st.nextToken());
            }
            result = Integer.parseInt(st.nextToken()); // 결과여야 하는 답이 마지막
            Arrays.sort(arr); // 정렬

            if (arr[0] == result) { 

            } else { // 답이 일치하지 않을때 처리
                many++;
                sb.append(i+1).append(" ").append(arr[0]);
            }

        }

        if (many == 0) { // 틀린 케이스가 0개면 -1출력
            sb.append("-1");
        }

        System.out.println(sb);
    }

}

Ranking(순위)

반응형