You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
C#으로 알고리즘을 풀려고 하니.. 입력 방법이나 스트링을 다루는 부분에서 많이 고민하게 된다.
억지로 처리하는게 아닌지.. 예외를 어디까지 잡아야 하는지 잘 감이 안잡히는 기분
일단 객체지향적으로 풀려고 노력했고, 입력이나 알고리즘도 오랜만이라 어색해서 참고를 했다.
다른 언어로도 풀기전 손풀이 용 문제를 풀었다고 생각
usingstaticSystem.Console;namespaceBeakjoon1018{publicclassPair<T1,T2>{publicT1First{get;privateset;}publicT2Second{get;privateset;}publicPair(T1first,T2second){First=first;Second=second;}}publicclassChessBoard{publicintFile{get;privateset;}publicintRank{get;privateset;}privatechar[,]ChessBoardArray;publicChessBoard(intfile,intrank){File=file;Rank=rank;ChessBoardArray=newchar[file,rank];}publicvoidAddRank(intfile,stringrank){if(rank.Length!=Rank){thrownewSystem.Exception("Rank length is not match");}for(inti=0;i<rank.Length;i++){ChessBoardArray[file,i]=rank[i];}}publicintCheckMinFixedRealBoard(){intresult=int.MaxValue;for(inti=0;i<=File-8;i++){for(intj=0;j<=Rank-8;j++){intnum=0;for(intx=i;x<i+8;x++){for(inty=j;y<j+8;y++){varc=(x+y)%2==0?'W':'B';if(c!=ChessBoardArray[x,y]){num++;}}}num=System.Math.Min(num,64-num);result=System.Math.Min(result,num);}}returnresult;}publicvoidPrint(){for(inti=0;i<File;i++){for(intj=0;j<Rank;j++){Write(ChessBoardArray[i,j]);}WriteLine();}}}publicclassProgram{publicstaticvoidMain(string[]args){varinput=Console.ReadLine()!.Split(' ');Pair<int,int>pair=new(int.Parse(input[0]),int.Parse(input[1]));ChessBoardchessBoard=new(pair.First,pair.Second);for(inti=0;i<pair.First;i++){chessBoard.AddRank(i,Console.ReadLine()!);}WriteLine(chessBoard.CheckMinFixedRealBoard());}}}
The text was updated successfully, but these errors were encountered:
CLASS 2: 체스판 다시 칠하기 - [1018]
C#으로 알고리즘을 풀려고 하니.. 입력 방법이나 스트링을 다루는 부분에서 많이 고민하게 된다.
억지로 처리하는게 아닌지.. 예외를 어디까지 잡아야 하는지 잘 감이 안잡히는 기분
일단 객체지향적으로 풀려고 노력했고, 입력이나 알고리즘도 오랜만이라 어색해서 참고를 했다.
다른 언어로도 풀기전 손풀이 용 문제를 풀었다고 생각
The text was updated successfully, but these errors were encountered: