Javaアルゴリズムの解題ヒント


多くの人はPythonが符号化テストに有利だと言っているので、Pythonでアルゴリズムの問題を解決してきた.
しかしSpringフレームワークを学ぶと同時に、アルゴリズムの問題をメイン言語で使うJavaで解決すべきだと思い、Javaで解決しました.
私はどんな方法で解決すべきか知っていますが、実現しにくい問題に遭遇しました.
私自身Spring/SpringBootを使って、学校でデザインモードを勉強すると同時に、java文法に慣れていると思います.アルゴリズムの解題には他のものが必要です.
これから、Javaでアルゴリズムの問題を解決するヒントをこの文章に追加し続けます.
アレイ
  • Sort並べ替え方法
  • を変更
    // 2022/01/30
    Arrays.sort(tempArray); // 오름차순 
    Arrays.sort(tempArray,  Collections.reverseOrder()); //내림차순
    
    // 오름차순 (compare함수를 변경하면, 비교방식 변경 가능)
    Arrays.sort(answer, new Comparator<Integer>() {
    	@Override
    	public int compare(Integer o1, Integer o2) {
    		return answer[o1] - answer[o2];
    	}
    });
  • Array.sort Lambda式
  • を使用
    //2022/02/07 
    Integer[] answer;
    Arrays.sort(answer, (o1, o2) -> o1 - o2);
    
    // 3-2 응용
    Integer[][] answer; // 각 row의 0번째 index를 기준으로 정렬
    Arrays.sort(answer,(o1,o2) -> o1[0] - o2[0]);
  • 導入サブアレイ
  • // 2022/02/07
    int[] answer = Arrays.copyOfRange(originalArray, startIndex, endIndex);
    データ構造
    コード
  • HashMapからStringの値を減算コード
  • // 2022/01/30
    String temp = answerHashMap.keySet().toString(); // key
    String temp = answerHashMap.values(); // value
     
    // temp는 "[String1, String2]" 형태가 된다.
    answer = temp.substring(1, temp.length()-1);
    // 처음과 마지막의 [,]를 substring 메소드로 제거하는 것이다.
    
    せいけいかん
  • ArrayListをint[]に変更するには、
  • を実行します.
    // 2022/02/03
    ArrayList<Integer> answerArrayList = new ArrayList<>();
      
    // 기본적인 방법  
    int[] answer = answerArrayList.stream().mapToInt(i->i).toArray();
      
    // 필터를 적용시켜서 null값을 제외하는 코드
    int[] answer2 = answerArrayList.stream().filter(i-> i!=null).mapToInt(i->i).toArray();
      
    オブジェクト向け
  • のデータを複雑に処理する必要がある場合は、新しいオブジェクトを作成し、データ構造にオブジェクトを格納することによって解決されます.
  • 質問:プログラマ>テストエンコーディング>スタック/キュー>プリンタ
    https://programmers.co.kr/learn/courses/30/lessons/42587
    // 2022/02/07
    class DocumentData {
        private int priorty;
        private int location;
    
        public DocumentData(int priorty, int location) {
            this.priorty = priorty;
            this.location = location;
        }
    
        public int getPriorty() {
            return priorty;
        }
    
        public int getLocation() {
            return location;
        }
    }
    フルプールコード:
    https://github.com/Jeeseob/Algoritm_Study/blob/master/Programmers/PracticeCodingTest/src/StackQueue/StackQueue2/Solution.java