본문 바로가기

Algorithm/백준

[백준] 6764번: Sounds fishy! - JAVA[자바]


 

문제


 

  • 네 개의 수를 입력 합니다.
  • 수가 증가 한다면 Fish Rising 을 출력합니다.
  • 수가 감소 한다면 Fish Diving 을 출력합니다.
  • 수가 일정하다면 Fish At Constant Depth를 출력합니다.
  • 그 외의 경우에 No FIsh를 출력합니다.

문제 풀이


import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        int[] arr = new int[4]; //(1)
        Scanner sc = new Scanner(System.in);
        for (int i = 0; i < arr.length; i++) {
            arr[i] = sc.nextInt();
            //(2)
        }
        //(3)
        if(arr[0] < arr[1] && arr[1] < arr[2] && arr[2] < arr[3]) System.out.printf("Fish Rising");
        //(4)
        else if(arr[0] > arr[1] && arr[1] > arr[2] && arr[2] > arr[3]) System.out.printf("Fish Diving");
        //(5)
        else if(arr[0] == arr[1] && arr[1] == arr[2] && arr[2] == arr[3]) System.out.printf("Fish At Constant Depth");
        //(6)
        else System.out.printf("No Fish");


    }
}

 

  1. 크기 4인 배열을 선언하였습니다.
  2. for문을 사용하여 배열에 각 수를 입력 하였습니다.
  3. 수가 계속해서 증가한다면 Fish Rising을 출력합니다
  4. 수가 계속해서 감소한다면 FIsh Diving을 출력합니다.
  5. 수가 일정하다면 FIsh At Constant Depth를 출력합니다.
  6. 그 외의 경우에 No Fish를 출력합니다.

 

 

결과


 

문제를 만 읽고 제출한다면 저와 같이 오답을 확인할 수 있습니다. 

첫번 째 제출이 오답인 이유는 마지막 케이스에서 "No Fish." 으로 출력하였기 때문입니다.(마침표가 없어야 합니다)

두번 째 제출이 오답인 이유는 문제를 잘 못 이해했다고 생각 돼 "Fish At Constant Depth"를 Constant Depth로 수정하자 발생하였습니다.

마지막으로 문제를 무시하고 출력만을 지켜 코드를 수정하여 정답을 도출하였습니다.