Grid Challenge Discussions | | HackerRank

Grid Challenge

  • + 1 comment

    Readable Java 8 Solution:

    public static String gridChallenge(List<String> grid){
            boolean isSorted = true;
            // sort and reinsert strings
            for(String str : grid){
                String sortedStr = sortedString(str);
                grid.set(grid.indexOf(str), sortedStr);
            }
            // check each char in the row < the char in the row below
            for(int col = 0; col < grid.get(0).length(); col++){
                for(int row = 0; row < grid.size() - 1; row++){
                    if(grid.get(row).charAt(col) > grid.get(row + 1).charAt(col)) isSorted = false;
                }
            }
    
            return isSorted ? "YES" : "NO";
        }
    
        public static String sortedString(String s){
            char[] chars = s.toCharArray();
            Arrays.sort(chars);
            return new String(chars);
        }