취준후기

대기업 SI 코딩 테스트 빠르게 합격하기 (feat: 백준 문제 추천)

컴공오지마라 2026. 4. 3. 00:04
반응형

 

대기업 SI 코테는 딱 이 정도만 준비하면 됩니다!

 
15회 이상의 대기업 SI 실전 코테 경험을 바탕으로 10문제중 9문제는 제가 정리한 유에 속한다는 걸 느꼈습니다. 시험장에서 아이디어가 떠오르지 않거나 시간복잡도를 개선해야하는 상황에서 아이디어를 떠올릴 때 아래의 기준이 많은 도움이 되었습니다. 단기간에 빠르게 시험을 대비하거나, 코딩 테스트를 처음 준비하시는 분들이라면 제가 정리한 기준문제를 참고해보시는 걸 추천드립니다. 각각의 알고리즘에 대한 설명보다는 좋은 문제들을 공유하는데 초점을 맞추었습니다. 글 마지막에는 실전 시험 팁도 있습니다!


  1. 자료구조
    • 스택 / 큐 / 맵 / 집합 힙
  2. 시간복잡도 줄이기
    • 이분탐색 / 투포인터 / 윈도우 슬라이딩
    • 부분합 / 그리디
  3. 탐색
    • 백트래킹 / BFS
  4. 구현/시뮬레이션

1. 자료구조

1.1 스택

번호난이도문제번호문제
1실버 43986https://www.acmicpc.net/problem/3986
2실버 12841https://www.acmicpc.net/problem/2841
3실버 210799https://www.acmicpc.net/problem/10799
4실버 21406https://www.acmicpc.net/problem/1406
5골드 52493https://www.acmicpc.net/problem/2493
6골드 56198https://www.acmicpc.net/problem/6198
7골드 49935https://www.acmicpc.net/problem/9935
8골드 32812https://www.acmicpc.net/problem/2812

1.2 큐

번호난이도문제번호문제
1실버 113335https://www.acmicpc.net/problem/13335
2브론즈 12161https://www.acmicpc.net/problem/2161
3실버 42164https://www.acmicpc.net/problem/2164
4실버 411866https://www.acmicpc.net/problem/11866
5실버 31021https://www.acmicpc.net/problem/1021
6실버 31966https://www.acmicpc.net/problem/1966
7골드 43190https://www.acmicpc.net/problem/3190

1.3 맵

번호난이도문제번호문제
1실버 41302https://www.acmicpc.net/problem/1302
2실버 41620https://www.acmicpc.net/problem/1620
3실버 32910https://www.acmicpc.net/problem/2910
4실버 320920https://www.acmicpc.net/problem/20920
5실버 57785https://www.acmicpc.net/problem/7785
6실버 410816https://www.acmicpc.net/problem/10816
7실버 417219https://www.acmicpc.net/problem/17219
8실버 39375https://www.acmicpc.net/problem/9375
9골드 51351https://www.acmicpc.net/problem/1351

1.4 집합

번호난이도문제번호문제
1실버 41544https://www.acmicpc.net/problem/1544
2실버 426069https://www.acmicpc.net/problem/26069
3실버 311478https://www.acmicpc.net/problem/11478
4실버 511723https://www.acmicpc.net/problem/11723
5실버 314425https://www.acmicpc.net/problem/14425
6실버 41764https://www.acmicpc.net/problem/1764

1.5 힙

번호난이도문제번호문제
1실버 51417https://www.acmicpc.net/problem/1417
2실버 22075https://www.acmicpc.net/problem/2075
3골드 21202https://www.acmicpc.net/problem/1202
4골드 417298https://www.acmicpc.net/problem/17298
5골드 413975https://www.acmicpc.net/problem/13975
6골드 41715https://www.acmicpc.net/problem/1715

 

2. 시간 복잡도 줄이기

2.1 이분탐색

번호난이도문제번호문제
1실버 311561https://www.acmicpc.net/problem/11561
2실버 21654https://www.acmicpc.net/problem/1654
3실버 22805https://www.acmicpc.net/problem/2805
4실버 32512https://www.acmicpc.net/problem/2512
5실버 26236https://www.acmicpc.net/problem/6236
6골드 41477https://www.acmicpc.net/problem/1477
7골드 53079https://www.acmicpc.net/problem/3079
8골드 42110https://www.acmicpc.net/problem/2110
9골드 31939https://www.acmicpc.net/problem/1939

2.2 투포인터

번호난이도문제번호문제
1실버 33273https://www.acmicpc.net/problem/3273
2골드 52470https://www.acmicpc.net/problem/2470
3골드 41806https://www.acmicpc.net/problem/1806
4골드 41253https://www.acmicpc.net/problem/1253

2.3 윈도우 슬라이딩

번호난이도문제번호문제
1실버 212891https://www.acmicpc.net/problem/12891
2실버 230804https://www.acmicpc.net/problem/30804
3실버 12531https://www.acmicpc.net/problem/2531
4실버 127527https://www.acmicpc.net/problem/27527

2.3 부분합

번호난이도문제번호문제
1실버 514929https://www.acmicpc.net/problem/14929
2실버 311441https://www.acmicpc.net/problem/11441
3실버 220438https://www.acmicpc.net/problem/20438
4실버 317390https://www.acmicpc.net/problem/17390
5실버 121318https://www.acmicpc.net/problem/21318
6실버 52167https://www.acmicpc.net/problem/2167
7골드 324548https://www.acmicpc.net/problem/24548

2.4 그리디 (힙, 정렬)

번호난이도문제번호문제
1실버 319941https://www.acmicpc.net/problem/19941
2실버 411399https://www.acmicpc.net/problem/11399
3실버 51789https://www.acmicpc.net/problem/1789
4실버 42217https://www.acmicpc.net/problem/2217
5실버 11931https://www.acmicpc.net/problem/1931
6골드 41339https://www.acmicpc.net/problem/1339
7실버 21541https://www.acmicpc.net/problem/1541
8실버 313305https://www.acmicpc.net/problem/13305

3. 탐색

3.1 백트래킹

번호난이도문제번호문제
1실버 315649https://www.acmicpc.net/problem/15649
2실버 316922https://www.acmicpc.net/problem/16922
3실버 114889https://www.acmicpc.net/problem/14889
4골드 59205https://www.acmicpc.net/problem/9205
5골드 415683https://www.acmicpc.net/problem/15683
6골드 515686https://www.acmicpc.net/problem/15686

3.2 BFS

번호난이도문제번호문제
1실버 12178https://www.acmicpc.net/problem/2178
2골드 32146https://www.acmicpc.net/problem/2146
3골드 510026https://www.acmicpc.net/problem/10026
4골드 57576https://www.acmicpc.net/problem/7576
5골드 412869https://www.acmicpc.net/problem/12869
6골드 56593https://www.acmicpc.net/problem/6593
7골드 316236https://www.acmicpc.net/problem/16236

4. 구현/시뮬레이션

번호난이드문제번호문제
1골드 416234https://www.acmicpc.net/problem/16234
2골드 43190https://www.acmicpc.net/problem/3190
3골드 514503https://www.acmicpc.net/problem/14503
4골드 314890https://www.acmicpc.net/problem/14890
5골드 316235https://www.acmicpc.net/problem/16235
6골드 417144https://www.acmicpc.net/problem/17144

5. 시험팁

시간복잡도 계산

알고리즘 시험에서 1초에 100,000,000(10^8) 연산이 가능합니다. 즉 O(N*N) 알고리즘이라면 , N이 1000이상 넘어가면 시간초과가 발생합니다. (시간제한 1초인 경우) 문제에서 제시된 시간제한과 입력으로 주어진 변수의 범위를 고려하여 시간초과 여부를 스스로 판단하는 역량이 정말 중요합니다!

 

코테를 잘풀기 위한 자바 기본 API

equals()

int[] a = {1, 2, 3};
int[] b = {1, 2, 3};
System.out.println(Arrays.equals(a, b));  // true
// 다차원 배열 비교: Arrays.deepEquals(arr1, arr2)

 
binarySearch( )

int[] arr = {1, 3, 5, 7};
int idx = Arrays.binarySearch(arr, 5); // 1

 
fill() / setAll()

int[] a = new int[5];
Arrays.fill(a, 7);  // [7, 7, 7, 7, 7]
Arrays.setAll(a, i -> i * i);  // [0, 1, 4, 9, 16]
// 배열 전체 또는 특정 부분을 **초기화**할 때 사용

 
copyOf() / copyOfRange()

int[] arr = {1, 2, 3};
int[] copy = Arrays.copyOf(arr, 5);  // [1, 2, 3, 0, 0] //new Length

int[] sub = Arrays.copyOfRange(arr, 1, 3);  // [2, 3]

 
스트림: 최대값 최소값 찾기

int max = Arrays.stream(arr).max().orElse(-1);
int min = Arrays.stream(arr).min().orElse(-1);
System.out.println(min +" " + max);

 

이 글 보시는 모두 가성비 좋게 코테 합격하시기 응원하겠습니다!
반응형