[백준]9082 지뢰찾기 JAVA

Bong2·2024년 7월 16일
0

알고리즘

목록 보기
47/63

문제 - 9082

문제접근

처음에는 지뢰가 있는 곳은 주변의 숫자를 없애주는 최신화작업을 한 후 왼쪽,오른쪽 ,나머지 부분에서의 #이며 주변의 지뢰의 개수가 0이상인 경우에만 지뢰를 설치를 하고 주변의 숫자를 하나씩 내렸는데 25%에서 틀렸다고하여 그냥 최신화부분을 없애버렸다.

소스코드

import java.util.*;
import java.io.*;
public class Main {
    public static void main(String[] args) throws Exception{
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringTokenizer st = new StringTokenizer(br.readLine());
        int T = Integer.parseInt(st.nextToken());

        for(int t=0;t<T;t++)
        {
            int ans = 0;
            st = new StringTokenizer(br.readLine());
            int N = Integer.parseInt(st.nextToken());

            st = new StringTokenizer(br.readLine());
            String s[] = st.nextToken().split("");
            int []firstRow = new int[N];

            for(int i=0;i<s.length;i++)
            {
                firstRow[i] = Integer.parseInt(s[i]);
            }

            st = new StringTokenizer(br.readLine());
            String str = st.nextToken();
            char []secondRow = new char[N];

            for(int i=0;i<str.length();i++)
            {
                secondRow[i] = str.charAt(i);
            }

            for(int i=0;i<N;i++)
            {
                if(i==0)
                {
                    if(firstRow[i] != 0 && firstRow[i+1] !=0 )
                    {
                        firstRow[i]--;
                        firstRow[i+1]--;
                        ans++;
                    }
                }else if(i== N-1)
                {
                    if(firstRow[i] != 0 && firstRow[i-1] !=0 )
                    {
                        firstRow[i]--;
                        firstRow[i-1]--;
                        ans++;
                    }
                }else{
                    if(firstRow[i-1] != 0 && firstRow[i] != 0 && firstRow[i+1] !=0 )
                    {
                        firstRow[i-1]--;
                        firstRow[i]--;
                        firstRow[i+1]--;
                        ans++;
                    }
                }
            }

            System.out.println(ans);
        }
    }
}
profile
자바 백엔드 개발자로 성장하자

0개의 댓글