//구글콘솔 광고 추가가

노트에 계속 풀어보다 정답으로 간 문제. 그래서 테스트 케이스를 엄청 추가했다.

추가한 테스트 케이스들

Parameters Return
["OOX", "XXO", "OXO"] 1
["XXX", "XXX", "XXX"] 0
["OOO", "X.X", "..."] 1
["..O", "...", "..."] 1
[".X.", "...", "..."] 0
[".OX", "OXO", "XO."] 0
["XXX", ".OO", "O.."] 1
["XXX", "XOO", "OOO"] 0
["OX.", "...", "..."] 1

 


혼자서 하는 택택토 문제

내 코드
using System;

public class Solution {
    public int solution(string[] board) {
        int answer = 1;
        int xCount = 0;
        int oCount = 0;
        int oWin = 0;
        int xWin = 0;

        for (int i = 0; i < board.Length; i++)
        {
            for (int j = 0; j < board[i].Length; j++)
            {
                if (board[i][j] == 'O')
                {
                    oCount += 1;
                }
                else if (board[i][j] == 'X')
                {
                    xCount += 1;
                }
            }
        }   
        for (int i = 0; i < 3; i++)
        {
            if (board[i] == "OOO")
            {
                oWin += 1;
            }
            else if (board[i] == "XXX")
            {
                xWin += 1;
            }
            else if(board[0][i] == 'O' && board[1][i] == 'O' && board[2][i] == 'O')
            {
                oWin += 1;
            }
            else if (board[0][i] == 'X' && board[1][i] == 'X' && board[2][i] == 'X')
            {
                xWin += 1;
            }
            else if (board[0][0] == 'O' && board[1][1] == 'O' && board[2][2] == 'O')
            {
                oWin += 1;
            }
            else if (board[0][0] == 'X' && board[1][1] == 'X' && board[2][2] == 'X')
            {
                xWin += 1;
            }
            else if (board[0][2] == 'O' && board[1][1] == 'O' && board[2][0] == 'O')
            {
                oWin += 1;
            }
            else if (board[0][2] == 'X' && board[1][1] == 'X' && board[2][0] == 'X')
            {
                xWin += 1;
            }
        }
        if(oCount < xCount)
        {
            answer =0;
        }
        if(oCount > xCount +1)
        {
            answer =0;
        }
        if(oWin + xWin > 1)
        {
            if(oWin> 1 && oCount -xCount == 1)
            {
                answer =1;
            }
            else
            {
                answer =0;
            }
        }
        if (xWin == 1 && oCount > xCount)
        {
            answer = 0;
        }
        if(oWin == 1 && oCount == xCount)
        {
            answer = 0;
        }
        return answer;
    }
}

 

728x90

+ Recent posts