Algorithm/BOJ(Baekjoon Online Judge)

[백준 - 15784번] 질투진서 - Java //Wello Horld//

koucop 2019. 12. 10. 10:23

이번에는 BOJ의 15784번 문제 "질투진서 " 을 풀어보도록 하자

 

입력으로 행과 열의 수 N 이 먼저 주어지고, 진서가 위치하고 있는 행 a, 열 b가 차례대로 주어진다. 그리고 다음 줄부터 앉아있는 학생들의 매력지수가 주어진다.(X[i][j])

출력으로 진서가 앉아있는 행과 열로 자신보다 잘생긴 사람이 없다면 HAPPY를, 있다면 ANGRY를 출력해주면 된다.

코드내에서 int배열 zisu는 매력지수를 zinseo는 진서의 매력지수를 뜻한다.

성공한 코드는 아래와 같다

import java.io.*;
import java.util.*;

public class sample {
    public static void main(String[] args) throws Exception {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));

        StringTokenizer st = new StringTokenizer(br.readLine());
        int N = Integer.parseInt(st.nextToken());
        int a = Integer.parseInt(st.nextToken());
        int b = Integer.parseInt(st.nextToken());
        int[][] zisu = new int[N + 1][N + 1];
        for(int i = 1; i <= N; i++){
            st = new StringTokenizer(br.readLine());
            for(int j = 1; j <= N; j++){
                zisu[i][j] = Integer.parseInt(st.nextToken());
            }
        }
        int zinseo = zisu[a][b];
        for(int i = 1; i <= N; i++){
            if(zisu[i][b] > zisu[a][b]) zinseo = zisu[i][b];
        }
        for(int i = 1; i <= N; i++){
            if(zisu[a][i] > zisu[a][b]) zinseo = zisu[a][i];
        }
        if(zinseo == zisu[a][b]) bw.write("HAPPY\n");
        else bw.write("ANGRY\n");

        bw.flush();
        br.close();
        bw.close();
    }
}

 

문제 : https://www.acmicpc.net/problem/15784

 

15784번: 질투진서

입력의 첫째 줄에 의자가 놓인 행과 열의 수 N(1 ≤ N ≤ 1000)이 주어지고 , 진서가 앉은 의자가 위치한 행 a, 열 b가 주어진다. 이후 두 번째 줄부터 N+1 줄까지 강의실에 앉아있는 학생들의 매력지수 X[i][j](1 ≤ X ≤ 50000)가 주어진다. X[i][j] 는 i행 j열에 앉은 학생의 매력지수이다. 

www.acmicpc.net

 

혹시 코드에 이상한 부분이나 틀린 부분이 있던지, 이해가 안가는 부분이 있다면 댓글로 알려주세요.