본문 바로가기

Algorithm(코딩테스트)/코딩테스트 | 기초 개념 시리즈15

[JAVA] 2차원 배열 + dx/dy 테크닉 기본 문법- 기본 문법은 1차원 배열과 유사하다.dx, dy 테크닉dx, dy 테크닉은 어떤 2차원 좌표에서 이동을 할 때 간단하게 사용할 수 있는 알고리즘 기법이다. 예를 들어, 아래 그림처럼 4*5로 된 격자에 빨간 점에서 상,하,좌,우 로 이동하려면 어떻게 해야 할까?if-else 문을 써서 이동 시켜도 되겠지만, 더 간단한 방법이 있다. #출발 지점 설정startR = 0;startC = 0; # 이동 방향dir_num = 0# 방향을 저장하는 순서는 문제에 따라 사용자가 지정 (현재는 우, 상, 좌, 하로 이동)# 0 1 2 3dc = [1, 0, -1, 0]dr = [0, -1, 0, 1]# 조건에 따라 이동nextR = startR + dr[dir_num];nextC = sta.. 2024. 11. 27.
[JAVA] 1차원 배열 1차원 배열 기초 문법 1. 정렬오름차순 정렬 Arrays.sort(arr)내림차순 정렬 Arrays.sort(arr, Collections.reverseOrder())// 배열 오름차순 정렬 - Arrays.sort(arr);// 배열 내림차순 정렬 - Arrays.sort(arr, Collections.reverseOrder());Integer[] arr1 = {3,5,9,6,2};Arrays.sort(arr1); // 오름차순 정렬for(int i=0; i 2. 배열 복사배열 복사 Arrays.copyOf(arr, arr.length) / Arrays.copyOf(arr, startIndex, endIndex)메서드로 처리하는 것이 for으로 순회하는 것보다 약 2배 빠르다.// 배열 복사 - Ar.. 2024. 11. 26.
[JAVA] 약수와 소수 찾기 1. 약수 찾기약수란 어떤 수로 나누었을 때 나누어 떨어지도록 하는 수이다.예를 들면 8의 약수는 1, 2, 4, 8 이다. n의 약수들을 어떻게 찾을까?8 % (1~n) 을 했을 때 0이 나오면 약수이다. 8 % 1 == 0 -> 1은 8의 약수8 % 2 == 0 -> 2는 8의 약수8 % 3 != 08 % 4 == 0 -> 4는 8의 약수8 % 5 != 08 % 6 != 08 % 7 != 08 % 8 == 0 -> 8은 8의 약수 이 로직을 코드로 옮기면 된다.public class PracticeMeasure { public static void main(String[] args) { int findMeasure = 8; // 8의 약수를 찾는다. isMeasure(findMeasure); } .. 2024. 11. 26.
[JAVA] 코딩테스트 입출력 패턴 정리 (Scanner VS BufferedReader) 결론1. 출력 : System.out.println() 으로 출력하는 것보다 BufferedWriter 로 출력하는 것이 빠르다.2. 입력 : Scanner 로 입력받는 것보다 BufferedReader 로 입력받는 것이 빠르다. 1. 출력BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));- bw.write() 은 문자열로 출력한다.- 그래서 정수, 실수를 출력할 때는 형변환이 필요하다.int/double -> String으로 바꾸고 출력bw.write(""+5);bw.write(""+3.1415926535); 문자 출력(그대로 출력 가능)bw.write('a'); - [자주 사용] C언어의 형식 지정자를 사용하여 출력하.. 2024. 11. 24.