기본 콘텐츠로 건너뛰기

코딩 테스트 합격자 되기 Part1

코딩 테스트 합격자 되기 Part1


00 코딩 테스트를 준비하기 전에

    나만의 테스트 케이스를 추가하는 건 좋은 알고리즘을 생각할 때 도움이 된다

        문제 분석한 후 여러 예외 상황을 확인할 수 있도록 나만의 테스트 케이스를 추가하면 도움이 됨

    첫 번째, 기록하라

        문제를 못 풀더라도 어디까지 생각했는지 기록


01 코딩 테스트 효율적으로 준비하기

    01-2 문제 분석 연습하기

        첫 번째, 문제를 쪼개서 분석하라

        두 번째, 제약 사항을 파악하고 테스트 케이스를 추가하라

        세 번째, 입력값을 분석하라

        네 번째, 그리디하게 접근할 때는 근거를 명확히 해라

            그리디 : 현재 상황에서 가장 유리해 보이는 선택을 하는 것

        다섯 번째, 데이터 흐름이나 구성을 파악하라

    01-3 의사 코드로 설계하는 연습하기

        원칙1 : 프로그래밍 언어로 작성하면 안 됨

        원칙2 : 일반인도 이해할 수 있는 자연어로 작성해야 함

        원칙3 : 일정한 형식이 없음(자유롭게 작성)

        원칙4 : 세부 구현이 아닌 동작 중심으로 작성하라

            ex) 국어, 영어, 수학 점수를 입력받는다. (O)

                  크기가 256바이트인 문자열 배열을 3개 선언해서 표준 입력으로 국어, 영어, 수학 점수를 입력받는다. (X)

        원칙5 :  문제 해결 순서로 작성하라

            ex) 1. 영어 성적 입력

                 2. 영어 성적이 60점을 넘는지 확인(분기)

                    2-1 60점 이상이면 통과

                    2-2 60점 미만이면 실패


02 프로그래머스 완벽 활용 가이드

    02-1 프로그래머스는 어떤 곳인가요?

    02-2 프로그래머스 활용 가이드

        프로그래머스 살펴보기

        문제 풀이 과정 살펴보기


03 알고리즘의 효율 분석

    03-1 시간 복잡도란?

        1차원 배열 검색하기

        알고리즘 수행 시간을 측정하는 방법

        최악의 경우 시간 복잡도를 표현하는 빅오 표기법

        시간 복잡도를 코딩 테스트에 활용하는 방법

            연산 횟수는 초당 1,000 ~ 3,000만 정도로 고려해서 시간 복잡도를 생각

    03-2 시간 복잡도 계산해보기

        별 찍기 문제

        박테리아 수명 문제


04 코딩 테스트 필수 문법

    04-1 프리미티브 타입과 레퍼런스 타입

        프리미티브 타입

            int, long, float, double

        레퍼런스 타입

            Integer, Long, Float, Double

        정수형

        부동소수형

    04-2 컬렉션 프레임워크

        배열

        리스트

        해시맵

        문자열

    04-3 메서드

        메서드 정의

        메서드 호출

        람다식

    04-4 코딩 테스트 코드 구현 노하우

        조기 반환

        보호 구문

        제네릭

댓글