[인터돌™] 공부 해보자!! 열심히~~~

반응형

알고리즘 문제를 푼다는건 결국 어떤 언어로 일정량의 코드를 만드는건데, 그 언어의 기본은 당연히 알아야 된다.

자바로 치면 기본 프로그램 구조, 클래스 선언, 객체의 개념, 메소드 사용, 변수의 타입 등은 가장 기본적인거고,

for, while, if 등의 아주 기본적인건 당연하다.

어려운 코딩을 요구한다기 보다는 기본적인 문법으로 알고리즘을 구현해내는걸 보는 문제이기 때문에 저런거 이외에

자주나오는 구문이 있다.

 

생각나는건

  1. 배열

  2. List

  3. Map

  4. Stack, Queue

등 되겠다. 약간 응용을 한 PriorityQueue 같은거도 알아두면 좋다.

 

그 기본 코드 중 머리속에 넣고 써야할 간단한 코드

 

ArrayList 샘플

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Comparator;

public class ArrayTest {

        public static void main(String[] args) throws Exception {
                ArrayList<Integer> arr = new ArrayList<Integer>();
                
                System.out.println(arr);
                
                arr.add(10);
                arr.add(200);
                arr.add(31);
                
                System.out.println(arr);
                
                arr.sort(new Comparator<Integer>() {

                        @Override
                        public int compare(Integer o1, Integer o2) {
                                // TODO Auto-generated method stub
                                return o2-o1;	// 내림차순 정렬
                                // return o1-o2;	// 오름차순 정렬
                        }
                        
                });
              
                System.out.println(arr);
        }
}

 

 

배열 샘플

import java.util.Arrays;
import java.util.Comparator;

public class DimTest {
        public static void main(String[] args) {
                int[][] a = new int[][] {
                        {1, 2, 3},
                        {6, 9, 8},
                        {10, 7, 3},
                        {2, 3, 4}
                };
                
                Arrays.sort(a, new Comparator<int[]>() {

                        @Override
                        public int compare(int[] o1, int[] o2) {
                                // TODO Auto-generated method stub
                                return o1[2] - o2[2];	// 배열의 뒤에 값 기준으로 오름차순 정렬
                        }
                        
                });
                
                System.out.println(Arrays.deepToString(a));      
        }
}

 

Map 샘플

import java.util.HashMap;
import java.util.Iterator;
import java.util.Set;

public class MapTest {
        public static void main(String[] args) {
                
                HashMap<String, Integer> hm = new HashMap<String, Integer>();
                
                hm.put("1번", 1);
                hm.put("5번", 5);
                hm.put("2번", 2);
                hm.put("3번", 3);
                hm.put("4번", 4);
                
                Set<String> keySet = hm.keySet();
                Iterator<String> it = keySet.iterator();
                
                while (it.hasNext()) {
                        String key = it.next();
                        int value = hm.get(key);
                                        
                        System.out.println(key + " " + value);
                }                
        }
}

이 글을 공유합시다

facebook twitter googleplus kakaoTalk kakaostory naver band