Java 코딩 테스트 레퍼런스

변환

1
2
3
4
5
6
7
8
9
10
11
12
13
String[] arr = { "A", "B", "C" }; 
// String 배열 -> List로 변환
 List<String> list = Arrays.asList(arr);

//List -> String 배열
String[] arr3 = list.stream().toArray(String[]::new);

// array -> List
int[] arr = { 1, 2, 3 };
List<Integer> intList = Arrays.stream(arr).boxed().collect(Collectors.toList());

// List -> array
int[] arr3 = list.stream().mapToInt(Integer::intValue).toArray();

정렬

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
//오름차순 정렬
String arr[] = {"apple","orange","banana","pear","peach","melon"};
Arrays.sort(arr);

//부분 정렬
Arrays.sort(arr, 0, 4); // 0,1,2,3 요소만 정렬

//내림차순 정렬
int arr2[] = {12, 45, 77, 34, 94, 542, 1}
Integer integerArr2 = Arrays.stream(arr2).boxed().toArray(Integer::new);
Arrays.sort(integerArr2, Collections.reverseOrder());

//객체 정렬
Arrays.sort(coffees, new Comparator<Coffee>() {
            @Override
            public int compare(Coffee c1, Coffee c2) {
                return Integer.compare(c1.getPrice(),c2.getPrice());
            }
        });

구현

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
//2차원 배열 내의 상하좌우 참조
int dirY[4] = { -1, 1, 0, 0 };
int dirX[4] = { 0, 0, -1, 1 };

int posY = 1, posX = 1;
System.out.println("초기 위치 Y :" + posY + " X : " + posX);

for (int i = 0; i < 4; i++) {
		int nextY = posY + dirY[i];
		int nextX = posX + dirX[i];
  	System.out.println("Y : " + nextY + " X : " + nextX);
}

//파일 입력
BufferedReader reader = new BufferedReader(new FileReader(filename));
String line = null;
while( (line = reader.readLine()) != null ){
  	System.out.println(line);
}

//파일 출력
PrintWriter writer = new PrintWriter("copy_" + filename);
writer.println(file);
writer.close();

//패턴 검색
Pattern pattern = Pattern.compile("(?<=[/\\\\])[^/\\\\]+\\.(gif|GIF)"); //문자열 중 gif혹은 GIF 파일 검출
Matcher matcher = pattern.matcher(inputString);
if (matcher.find()) {
    System.out.println(matcher.group());
}

Etc 카테고리 내 다른 글 보러가기

댓글남기기