시간&메모리 제한
문제
문제풀이
package com.Back;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Back_2578 {
static int [][] arr = new int[5][5];
static int ans;
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st;
for (int i = 0; i < 5; i++) {
st= new StringTokenizer(br.readLine());
for (int j = 0; j < 5; j++) {
arr[i][j]=Integer.parseInt(st.nextToken());
}
}
boolean flag = false;
for (int i = 0; i < 5; i++) {
if(flag==true)break;
st = new StringTokenizer(br.readLine());
for (int j = 0; j < 5; j++) {
int tmp = Integer.parseInt(st.nextToken());
ans=0;
for (int x = 0; x < 5; x++) {
for (int y = 0; y < 5; y++) {
if(arr[x][y]==tmp) {
arr[x][y]=0;
check();
}
}
}
if(ans>=3) {
flag=true;
System.out.println(i*5+1+j);
break;
}
}
}
}
private static void check() {
int cross1=0;
int cross2=0;
for (int i = 0; i < 5; i++) {
int cnt1 =0;
int cnt2 =0;
for (int j = 0; j < 5; j++) {
if(arr[i][j]==0) {
cnt1++;
}
if(arr[j][i]==0) {
cnt2++;
}
}
if(arr[i][i]==0) {
cross1++;
}
if(arr[i][4-i]==0) {
cross2++;
}
if(cnt1==5) {
ans++;
}
if(cnt2==5) {
ans++;
}
}
if(cross1==5) {
ans++;
}
if(cross2==5) {
ans++;
}
}
}
※ 내 생각
이 문제는 구현을 이용하여 푸는 문제입니다.
한번 확인할 때 마다, 빙고의 갯수를 체크해줍니다.
만약 빙고의 갯수가 3개가 된다면 종료를 해줍니다.
'Algorithm > 백준 알고리즘' 카테고리의 다른 글
백준_1092 배(자바) / 그리디 (0) | 2021.11.14 |
---|---|
백준_2616 소형기관차(자바) / 누적합 (0) | 2021.11.13 |
백준_9237 이장님 초대(자바) / 그리디 (0) | 2021.11.08 |
백준_3135 라디오(자바) / 그리디 (0) | 2021.11.07 |
백준_2257 화학식량(자바) / 문자열 (0) | 2021.11.04 |