홈 > 부모님 > 부모님 > 소설,일반 > 컴퓨터,모바일
패턴 공략! 자바스크립트 코딩 테스트  이미지

패턴 공략! 자바스크립트 코딩 테스트
무작정 풀지 말고 10가지 패턴으로 꿰뚫어라!
인사이트 | 부모님 | 2025.12.24
  • 정가
  • 34,000원
  • 판매가
  • 30,600원 (10% 할인)
  • S포인트
  • 1,700P (5% 적립)
  • 상세정보
  • 18.8x24 | 0.859Kg | 452p
  • ISBN
  • 9788966265053
  • 배송비
  • 2만원 이상 구매시 무료배송 (제주 5만원 이상) ?
    배송비 안내
    전집 구매시
    주문하신 상품의 전집이 있는 경우 무료배송입니다.(전집 구매 또는 전집 + 단품 구매 시)
    단품(단행본, DVD, 음반, 완구) 구매시
    2만원 이상 구매시 무료배송이며, 2만원 미만일 경우 2,000원의 배송비가 부과됩니다.(제주도는 5만원이상 무료배송)
    무료배송으로 표기된 상품
    무료배송으로 표기된 상품일 경우 구매금액과 무관하게 무료 배송입니다.(도서, 산간지역 및 제주도는 제외)
  • 출고일
  • 품절된 상품입니다.
  • ★★★★★
  • 0/5
리뷰 0
리뷰쓰기

구매문의 및 도서상담은 031-944-3966(매장)으로 문의해주세요.
매장전집은 전화 혹은 매장방문만 구입 가능합니다.

  • 도서 소개
  • 출판사 리뷰
  • 작가 소개
  • 목차
  • 회원 리뷰

  도서 소개

패턴을 모르면 매번 새 문제
패턴을 알면 매번 같은 문제


코딩 테스트에서 패턴을 읽어내는 능력은 단지 합격을 위한 기술이 아니다. 반복되는 에러의 원인을 빠르게 찾고, 복잡한 코드를 단순하게 재구성하며, 변경이 잦은 요구사항 속에서도 안정적인 구조를 설계하도록 돕는, 개발자의 핵심 사고방식이다.
패턴을 이해한 사람은 문제를 ‘처음 보는 형태’가 아니라 ‘이미 알고 있는 구조’로 해석하므로 어떤 문제 앞에서도 더 빠르고 정확하게 판단할 수 있다. 이 책은 그 패턴 사고를 단단한 무기로 만들어, 코딩 테스트는 물론 실제 개발 현장까지 이어지는 문제 해결력을 향샹시킨다.

  출판사 리뷰

코딩 테스트는 ‘문제 수’가 아니라 ‘패턴 인식’의 싸움이다
알고리즘 패턴만 잡으면 처음 보는 문제도 결국 ‘어디서 본 것 같은 문제’가 된다. 이 책은 10가지 핵심 패턴을 기준으로 ‘문제를 보면 → 패턴을 식별하고 → 바로 코드로 옮기는’ 루틴을 반복해 훈련한다. 무작정 많이 풀기보다 전략적 반복과 패턴화로 핵심 로직을 재사용하고 코드의 가독성과 시간 복잡도까지 함께 챙긴다. 연습이 쌓일수록 여러분은 처음 보는 문제에서도 어떤 자료 구조를 쓰고 어떤 패턴을 적용할지를 즉시 결정할 수 있게 된다.

면접관의 시선으로 본 출제 패턴 분석과 기출 문제 선별!
첫 코딩 테스트에서 한 문제도 풀지 못했던 지원자가 면접관이 된 뒤 깨달은 것들을 이 한 권에 모두 담았다. 저자가 실제로 통과한 실리콘밸리 빅테크 기업 코딩 테스트의 기출 문제를 바탕으로 각 문제의 분석과 접근 방법, 풀이까지 차례대로 짚어 준다. 각 풀이 뒤에는 다른 풀이법과 복잡도를 비교하며 왜 그 풀이가 가장 유리한지 설명한다. 또한 각 장의 끝에는 코딩 인터뷰 팁과 고려 사항을 정리해 실제 인터뷰에서 ‘왜 이 방식을 택했는지, 다른 방식과 무엇이 어떻게 다른지’를 논리적으로 설명할 수 있도록 돕는다.

  작가 소개

지은이 : 이문규
캐나다에서 프로그래밍을 전공하고 현지에서 개발자로서 첫발을 내디뎠다. 이후 Salesforce, T4G, Accedo 등 북미 유수의 테크 기업을 거쳐 현재 시니어 소프트웨어 개발자로 일하고 있다. 자료 구조, 알고리즘, 시스템 디자인 등 엔지니어링의 근간이 되는 기본기를 중요시하며 복잡한 문제를 해결하는 단순함의 힘을 믿는다.풍부한 면접관 경험과 신입 개발자 온보딩 프로세스를 주도한 이력을 바탕으로 ‘기본에 충실한, 심플한 코드’가 최고의 코드라는 확고한 철학을 가지고 있다. 현재 유튜브 채널 ‘코딩문’(@codingmoon)을 운영하고 있으며 온라인 강의를 통해 개발자들과 활발히 소통하며 실무에서 쌓은 노하우와 인사이트를 나누고 있다.

  목차

▶ 0장 시작하기 전에 1
0.1 왜 자바스크립트인가? 1
____0.1.1 자바스크립트의 특징 2
0.2 알고리즘 성능 평가와 복잡도 7
0.3 빅 오 표기법 8
____0.3.1 O(1) 상수 시간 9
____0.3.2 O(log n) 로그 시간 9
____0.3.3 O(n) 선형 시간 10
____0.3.4 O(n2) 2차 시간 11
____0.3.5 O(2n) 지수 시간 12
____0.3.6 O(n!) 팩토리얼 시간 13
____0.3.7 자바스크립트 주요 메서드의 시간 복잡도 13
____0.3.8 공간 복잡도 14

▶ 1장 문자열 패턴 19
1.1 문자열 객체 이해하기 19
____1.1.1 불변성 19
____1.1.2 원시 타입 vs 객체 타입 21
____1.1.3 인덱싱 21
1.2 속성 및 주요 메서드 22
1.3 문자열 문제 유형 23
____1.3.1 순서 뒤집기 23
____1.3.2 중복 제거 26
____1.3.3 문자열 압축 29
____1.3.4 가장 많이 등장하는 단어 30
____1.3.5 회문 32
____1.3.6 애너그램 35
____1.3.7 정수 변환 38
____1.3.8 재정렬 41
____1.3.9 괄호 유효성 검사 43
____1.3.10 회전된 문자열 46
____1.3.11 가장 긴 공통 접두사 48
1.4 응용 문제 49
____1.4.1 애너그램 분류하기 50
____1.4.2 가장 긴 회문 부분 문자열 찾기 52
____1.4.3 같은 패턴 찾기 56
1.5 인터뷰 팁과 고려 사항 59

▶ 2장 투 포인터 패턴 61
2.1 투 포인터 패턴 이해하기 61
2.2 투 포인터 패턴 문제 유형 63
____2.2.1 두 수의 합 63
____2.2.2 배열의 교집합 66
2.3 응용 문제: 배열 70
____2.3.1 정렬된 제곱수 70
____2.3.2 세 수의 합 74
____2.3.3 가장 큰 사각형 78
____2.3.4 음수 옮기기 82
____2.3.5 제곱수의 합 86
2.4 응용 문제: 연결 리스트 89
____2.4.1 사이클의 시작 노드 90
____2.4.2 정렬된 두 리스트의 병합 95
____2.4.3 연결 리스트의 합산 99
____2.4.4 리스트의 파티션 102
____2.4.5 리스트 역순 정렬 105
2.5 인터뷰 팁과 고려 사항 108

▶ 3장 슬라이딩 윈도 패턴 111
3.1 슬라이딩 윈도 패턴 111
3.2 문제 유형 분석 112
3.3 응용 문제 114
____3.3.1 가장 긴 부분 문자열 114
____3.3.2 세 문자 118
____3.3.3 연속된 자연수의 합 121
____3.3.4 과일 바구니 124
____3.3.5 가장 긴 대소문자 128
____3.3.6 애너그램 II 132
____3.3.7 최고 점수 136
3.4 인터뷰 팁과 고려 사항 140

▶ 4장 그리디 패턴 141
4.1 최적화 문제 유형 141
4.2 그리디 패턴 142
4.3 응용 문제 144
____4.3.1 강의실 145
____4.3.2 장바구니 149
____4.3.3 균형 잡힌 문자열 나누기 153
____4.3.4 XY 155
____4.3.5 구명 보트 158
____4.3.6 결승선 161
____4.3.7 주유소 164
4.4 인터뷰 팁과 고려 사항 168

▶ 5장 이진 탐색 패턴 171
5.1 분할 정복 171
5.2 이진 탐색 173
5.3 응용 문제 177
____5.3.1 첫 번째 True 177
____5.3.2 고정점 180
____5.3.3 제곱근 183
____5.3.4 배열의 중복 요소 찾기 186
____5.3.5 시작과 끝 189
____5.3.6 다음 문자 193
____5.3.7 최솟값 196
5.4 인터뷰 팁과 고려 사항 199

▶ 6장 정렬 패턴 201
6.1 정렬 201
6.2 정렬의 종류 202
____6.2.1 버블 정렬 202
____6.2.2 선택 정렬 203
____6.2.3 삽입 정렬 203
____6.2.4 퀵 정렬 203
____6.2.5 병합 정렬 205
____6.2.6 퀵 정렬 vs 병합 정렬 208
6.3 응용 문제 209
____6.3.1 0, 1, 2 정렬 210
____6.3.2 성적순 213
____6.3.3 빈도 정렬 216
____6.3.4 교집합 219
____6.3.5 문자열 섞기 222
____6.3.6 작은 수 224
____6.3.7 빈도순 정렬 227
____6.3.8 리스트 정렬 230
6.4 인터뷰 팁과 고려 사항 235

▶ 7장 행렬 237
7.1 행렬 237
____7.1.1 행렬과 빅 오 238
7.2 행렬 기초 학습 239
____7.2.1 순회 239
____7.2.2 셀 값 1로 만들기 240
____7.2.3 전치 행렬 만들기 241
7.3 응용 문제 243
____7.3.1 음수 세기 243
____7.3.2 90도 회전 246
____7.3.3 나선형 순회 250
____7.3.4 제로 행렬 254
____7.3.5 공통 요소 258
____7.3.6 대각선 차이 261
____7.3.7 행렬 탐색 264
7.4 인터뷰 팁과 고려 사항 267

▶ 8장 너비 우선 탐색 패턴 269
8.1 너비 우선 탐색 269
____8.1.1 선형 자료 구조 vs 비선형 자료 구조 269
____8.1.2 너비 우선 탐색이란? 269
8.2 그래프와 트리 순회 270
____8.2.1 너비 우선 탐색으로 그래프 순회 270
____8.2.2 너비 우선 탐색으로 트리 순회 272
8.3 응용 문제 274
____8.3.1 이진 트리 레벨 순회 275
____8.3.2 레벨의 평균값 279
____8.3.3 이진 트리의 최소 깊이 281
____8.3.4 레벨 순회 후속 노드 285
____8.3.5 지그재그 288
____8.3.6 섬의 개수 291
____8.3.7 영역 채우기 295
____8.3.8 최단 경로 301
8.4 인터뷰 팁과 고려 사항 305

▶ 9장 깊이 우선 탐색 패턴 307
9.1 깊이 우선 탐색 307
9.2 그래프와 트리 순회 307
____9.2.1 깊이 우선 탐색으로 그래프 순회 307
____9.2.2 깊이 우선 탐색으로 트리 순회 309
9.3 재귀 312
____9.3.1 재귀 함수의 기본 구조 313
____9.3.2 재귀 함수의 프롤로그와 에필로그 313
9.4 응용 문제 314
____9.4.1 같은 트리 314
____9.4.2 트리의 최대 깊이 317
____9.4.3 경로의 합 320
____9.4.4 가장 긴 경로 323
____9.4.5 경로 합의 개수 327
____9.4.6 가장 큰 섬 332
____9.4.7 이진 탐색 트리 336
____9.4.8 최소 공통 조상 340
9.5 인터뷰 팁과 고려 사항 343

▶ 10장 부분 집합 패턴 345
10.1 부분 집합 345
____10.1.1 부분 집합 345
____10.1.2 조합 345
____10.1.3 순열 346
10.2 백트래킹 vs 동적 프로그래밍 346
____10.2.1 백트래킹 346
____10.2.2 동적 프로그래밍 348
10.3 응용 문제 351
____10.3.1 부분 집합 351
____10.3.2 부분 집합 II 354
____10.3.3 부분 집합의 합 357
____10.3.4 같은 부분 집합의 합 364
____10.3.5 k개의 숫자 조합 찾기 371
____10.3.6 숫자 집합의 순열 375
____10.3.7 대소문자 변환 순열 379
____10.3.8 균형 잡힌 괄호 382
10.4 인터뷰 팁과 고려 사항 386

▶ 부록 A 자료 구조 핵심 정리 387
A.1 배열 387
____A.1.1 배열 선언/초기화 388
____A.1.2 읽기 388
____A.1.3 탐색 388
____A.1.4 삽입 389
____A.1.5 삭제 389
A.2 연결 리스트 390
____A.2.1 연결 리스트 생성 391
____A.2.2 읽기/탐색 391
____A.2.3 삽입 392
____A.2.4 삭제 393
A.3 스택 394
____A.3.1 스택 선언/초기화 395
____A.3.2 삽입 395
____A.3.3 삭제 395
____A.3.4 읽기 395
____A.3.5 탐색 396
A.4 큐 397
____A.4.1 큐 선언/초기화 397
____A.4.2 삽입 397
____A.4.3 제거 398
____A.4.4 확인 398
A.5 그래프 399
____A.5.1 그래프 구현 400
____A.5.2 그래프 순회 401
A.6 트리 404
____A.6.1 트리의 종류 405
____A.6.2 트리 구현 405
____A.6.3 탐색 407
____A.6.4 이진 트리의 순회 409
A.7 해시 테이블 410
____A.7.1 객체 410
____A.7.2 Map 객체 411

▶ 부록 B 실전 대비 문제 413
문제 1 안전한 비밀번호 413
문제 2 문자열 게임 414
문제 3 두 카드의 조합 415
문제 4 김대리의 부동산 투자 415
문제 5 로미의 고민 416
문제 6 보리를 이겨라 417
문제 7 크리스마스 트리 418
문제 8 카일의 첫 업무 419
문제 9 마라톤 대회 420
문제 10 최소 편집 거리 421

▶ 부록 C 실전 대비 문제 풀이 423
문제 1 안전전한 비밀번호 423
문제 2 문자열 게임 425
문제 3 두 카드의 조합 426
문제 4 김대리의 부동산 투자 427
문제 5 로미의 고민 428
문제 6 보리를 이겨라 430
문제 7 크리스마스 트리 431
문제 8 카일의 첫 업무 432
문제 9 마라톤 대회 434
문제 10 최소 편집 거리 436

찾아보기 439

  회원리뷰

리뷰쓰기