Grid Challenge Discussions | | HackerRank

Grid Challenge

  • + 0 comments

    Java Solution

        public static String gridChallenge(List<String> grid) {
            for (int i=0; i < grid.size(); i++) {
                String element = grid.get(i);
                String sortedEl = Stream.of(element.split(""))
                        .sorted().collect(Collectors.joining());
                grid.set(i, sortedEl);
            }
            
            boolean sorted = true;
            for (int j=0; j < grid.get(0).length(); j++) {
                List<String> myList = new ArrayList<>();
                for (int k=0; k < grid.size(); k++) {
                    myList.add(grid.get(k).substring(j, j+1));
                }
                String original = String.join("", myList);
                Collections.sort(myList);
                String sortedStr = String.join("", myList);
                sorted = !original.equals(sortedStr) ? false : sorted;
            }
            return sorted ? "YES" : "NO";
        }