-
[묘공단]코딩 테스트 합격자 되기 1주차[묘공단] 코딩 테스트 합격자 되기 책 정리 2024. 4. 14. 20:33
이 글은 책 코딩테스트 합격자 되기 - 자바편 (골든래빗 - 김희성저)의 내용이 포함되어있습니다.
00 코딩 테스트를 준비하기 전에
효과적인 전략
1. 첫번째 기록하라
2. 시험 보듯 공부하라
3. 짧은 시간 공부해서는 절대 코딩 테스트를 통과할 수 없다.
4. 나만의 언어로 요약하라
01 코딩 테스트 효율적으로 준비하기
문제 분석 연습하기
1. 문제를 쪼개서 분석하라
2. 제약 사항을 파악하고 테스트 케이스를 추가하라
3. 입력값을 분석하라
4. 그리디하게 접근할 때는 근거를 명확히 해라
5. 데이터 흐름이나 구성을 파악하라의사 코드로 설계하는 연습
원칙 1 : 프로그래밍 언어로 작성하면 안됨
원칙 2 : 일반인도 이해할 수 있는 자연어로 작성해야 함
원칙 3 : 일정한 형식이 없음 -> 자유롭게
방법
1. 세부 구현이 아닌 동작 중심으로 작성
2. 문제 해결 순서로 작성
3. 충분히 테스트
03 알고리즘의 효율 분석
시간 복잡도
- 알고리즘의 성능을 나타내는 지표
- 입력 크기에 대한 연산 횟수의 상한을 의미
- 낮으면 낮을수록 좋다시간을 측정하는 방법
- 시간 복잡도는 연산 횟수와 관련이 있다
- 알고리즘이 시작한 순간부터 결괏값이 나올 때까지의 연산 횟수를 나타냄
- 측정한 결과는 최선, 보통, 최악의 경우로 나뉜다
- 시간 복잡도는 최악의 경우를 가정하여 이야기하는 것이 일반적이다
- 최악의 경우를 표현한 것이 빅오 표기법이다
04 코딩 테스트 필수 문법
- 자바에는 primitive type 과 reference type 이 있다
- 레퍼런스 타입은 참조형 변수라 프리미티브 타입보다 연산 속도가 더 느리다컬렉션 프레임 워크
- 대표적으로 리스트, 스택, 큐, 테크, 해시맵 등이 있다
int[] array = {1,2,3,4}; // 배열 int[] a = new int[4]; array[1]; -> 2 List<Integer> list = new ArrayList<>(); // 리스트 list.add(1); list.get(1); Map<String, Integer> map = new HashMap<>(); // 해시맵 map.put("a", 1); map.get("a"); -> 1 map.put("a", 2); map.get("a"); -> 2
문자열
- 문자열은 배열의 형태로 구성한 이뮤터블 객체이다
- 이뮤터블 객체는 값을 변경할 수 없는 객체를 의미한다String str = "Hello"; str + = "hihi"; System.out.println(str); -> Hellohihi str = str.replace("o", ""); System.out.println(str); -> Hellhihi
- 이뮤터블 객체라 String 경우 연산이 많을 때 효율이 높은 StringBuilder 클래스나 StringBuffer 클래스를 사용해야 한다
- 두 클래스의 차이는 멀티스레드 환경에서 Thread-Safe 여부로 나뉜다
- Thread-Safe 가 없는 StringBuilder 클래스가 속도 측면에서 미세하지만 더 빠르다StringBuilder sb = new StringBuilder(); sb.append("a"); sb.append("b"); System.out.println(sb); -> ab
문제 01 - 배열 정렬하기
제약조건
- 정수 배열의 길이는 2 이상 10^5이하
- 정수 배열의 각 데이터 값은 -100,000 이상 100,000 이하 입니다
입력 출력 [1, -5, 2, 4, 3] [-5, 1, 2, 3, 4] [2, 1, 1, 3, 2, 5, 4] [1, 1, 2, 2, 3, 4, 5] [6, 1, 7] [1, 6, 7] 풀이
private static int[] solution(int[] arr){ Arrays.sort(arr); return arr; }
출처
https://goldenrabbit.co.kr/product/javapass/
[되기] 코딩 테스트 합격자 되기(자바 편) - 골든래빗
신입 사원 코딩 테스트를 준비하고 계신가요? 코딩 테스트는 문제만 열심히 푼다고 통과할 수 없습니다. 시험은 전략적으로 준비해야 합니다. 《코딩 테스트 합격자 되기》(자바 편)은 신입 사
goldenrabbit.co.kr
'[묘공단] 코딩 테스트 합격자 되기 책 정리' 카테고리의 다른 글
[묘공단] 코딩 테스트 합격자 되기 5주차 (0) 2024.05.22 [묘공단] 코딩 테스트 합격자 되기 4주차 - 트리 (1) 2024.05.07 [묘공단] 코딩 테스트 합격자 되기 4주차 (0) 2024.05.06 [묘공단] 코딩 테스트 합격자 되기 3주차 (0) 2024.04.29 [묘공단] 코딩 테스트 합격자 되기 2주차 (1) 2024.04.21