백준 2578번 빙고
백준 2578번 빙고
구현 전 생각
먼저 5X5 배열을 만든 후에 2중 포문 3번을 이용해서 15개의 숫자가 불러진 이후에 검사 이후로 계속 검사를 해나간다.
그리고 해당 빙고가 완료되면 그떄의 그 cnt값을 출력그떄의 그 cnt값을 출력
아쉬운점
일단 너무 단순하게 15회를 정한것 -> 최소는 13회부터 가능하다. 전역변수인 bigcnt=0으로 초기화 해주지 않아서 최소 횟수인 13이 될때마다 바로 끝나버리는 오류 발생
항상 문제를 풀떄 예외 상황도 생각하면서 처리하자
코드
package com.study32;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.StringTokenizer;
public class backjoon_2578_빙고 {
static int N;
static int[][] map = new int[5][5];
static int bing[] = {0,1,2,3,4};
static int bingcnt=0;
public static void binggo() {
int tempcnt=0;
int tempcnt2=0;
for (int i = 0; i < 5; i++) {
//가로 빙고
if(map[i][0]==0&&map[i][1]==0&&map[i][2]==0&&map[i][3]==0&&map[i][4]==0)
bingcnt++;
//세로 빙고
if(map[0][i]==0&&map[1][i]==0&&map[2][i]==0&&map[3][i]==0&&map[4][i]==0)
bingcnt++;
//반대 대각선 빙고
if(map[i][4-i]==0) {
tempcnt2++;
if(tempcnt2==5) {
bingcnt++;
}
}
//대각선 빙고
if(map[i][i]==0) {
tempcnt++;
if(tempcnt==5) {
bingcnt++;
}
}
}
}
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++) {
map[i][j]=Integer.parseInt(st.nextToken());
}
}
/*
* //탐색에 더 좋은 방법이 있을가 고민 해보자 for (int i2 = 0; i2 < 3; i2++) { st = new
* StringTokenizer(br.readLine()," "); for (int i3 = 0; i3 < 5; i3++) { int temp
* = Integer.parseInt(st.nextToken());
*
* for (int i = 0; i < 5; i++) { for (int j = 0; j < 5; j++) {
* if(map[i][j]==temp) map[i][j]=0; } } }
*
* } binggo(); if(bingcnt>=3) { System.out.println(15); return; }
*/
int cnt =0;
for (int i2 = 0; i2 < 5; i2++) {
st = new StringTokenizer(br.readLine()," ");
for (int i3 = 0; i3 < 5; i3++) {
int temp = Integer.parseInt(st.nextToken());
for (int i = 0; i < 5; i++) {
for (int j = 0; j < 5; j++) {
if(map[i][j]==temp) {
map[i][j]=0;
bingcnt=0;
binggo();
cnt++;
if(bingcnt>=3) {
System.out.println(cnt);
return;
}
}
}
}
}
}
}
}
Author And Source
이 문제에 관하여(백준 2578번 빙고), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@jeus95/백준-2578번-빙고저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)