IBM 코딩 테스트 가이드 2026: 출제 유형, 시간 배분, 준비 방법

PracHub 영어 원문을 번역한 글입니다영어 원문 읽기

요약

IBM 공식 안내와 PracHub 기출 문제 보고 4건을 바탕으로 정리한 실전 IBM 코딩 테스트 가이드입니다. 구간(interval), 문자열 인덱싱, 팰린드롬 문자 예산, 슬라이딩 윈도우, 타이머 계획, 히든 테스트, 감독 방식, 개인정보, 7일 준비 계획을 다룹니다.

대부분의 지원자는 모든 지원자가 같은 문제, 같은 제한 시간, 같은 플랫폼으로 "IBM 코딩 테스트"를 본다고 생각하고 준비합니다. 하지만 IBM의 공식 안내에 따르면 형식은 직무에 따라 다릅니다. 초대 이메일이 곧 테스트 명세서입니다.

이 가이드는 IBM의 공식 기준과 PracHub 기출 문제 모음에 올라온 실제 IBM 코딩 문제 4개를 함께 정리했습니다. 이 문제들은 구간, 문자열 인덱싱, 문자 빈도 추론, 슬라이딩 윈도우를 다룹니다. IBM 코딩 테스트가 얼마나 넓은 범위를 오갈 수 있는지 보여주기 때문에 유용합니다. 어떤 문제는 다섯 줄짜리 정확도 확인 문제이고, 다음 문제는 중간 난이도의 완전한 알고리즘을 요구합니다.

일반적인 문제 목록을 풀기 전에 PracHub의 IBM 코딩 및 알고리즘 문제를 열어 보세요. 아래의 보고된 문제로 실제로 보완해야 할 패턴을 파악하면 됩니다.

구간과 슬라이딩 윈도우를 포함한 IBM 코딩 테스트 패턴을 풀어 보는 지원자

초대장에 적힌 직무별 테스트를 준비하되, 실제 IBM 문제 보고로 연습을 구체화하세요.

한눈에 보는 결론: IBM은 코딩 테스트에 객관식 문제, 코딩 문제, 또는 둘 다가 포함될 수 있다고 공식적으로 밝히고 있습니다. 모든 지원자에게 적용되는 문항 수, 시간, 플랫폼, 언어 목록, 합격 점수는 공개하지 않습니다. 먼저 초대장을 확인하고, 시간을 재며 코딩 기본기를 훈련한 뒤 채용 공고에 적힌 직무별 내용을 준비하세요.

IBM이 공식적으로 확인한 내용

IBM의 지원 절차는 코딩 테스트를 직무에 따라 객관식 문제 또는 코딩 문제로 설명합니다. 평가 FAQ는 초대받은 지원자에게 7일 이내에 테스트를 완료하고, 본인의 테스트에 시간 제한이 있는지 확인하라고 안내합니다.

항목믿을 수 있는 내용직접 확인해야 할 내용
형식객관식, 코딩 문제, 또는 직무에 따른 조합초대장에 적힌 섹션
응시 기간IBM은 초대받은 지원자에게 7일 이내 완료를 요청이메일에 적힌 정확한 마감일과 시간대
타이머일부 테스트는 시간 제한이 있음총 시간, 섹션별 타이머 여부
문항 수IBM은 공통 문항 수를 공개하지 않음시작 전 테스트 안내 페이지
프로그래밍 언어직무와 환경에 따라 사용 가능 여부가 다름언어 선택 화면과 채용 공고의 요구 사항
감독 방식일부 코딩 문제에서 IBM이 코드와 웹캠 사진을 저장할 수 있음테스트 화면에 표시되는 권한 및 안내문
합격 점수IBM은 공통 커트라인을 공개하지 않음팀이 공유하는 경우 채용 담당자의 안내

IBM 코딩 테스트에서 확인된 내용과 초대장마다 다른 내용

기본 사항은 IBM의 공개 안내를 따르고, 테스트별 규칙은 모두 초대장을 기준으로 확인하세요.

IBM은 HackerRank를 사용하나요?

지원자 후기에는 HackerRank에서 진행된 IBM 코딩 테스트가 자주 나오며, IBM의 신입 개발자 안내에도 추천 연습 자료로 HackerRank가 들어 있습니다. 다만 IBM의 공개 지원 페이지는 모든 직무와 지역에 하나의 플랫폼을 쓴다고 약속하지 않습니다.

어느 플랫폼에서든 통하는 기본기를 준비하세요. 함수 시그니처 읽기, 표준 입력 처리, 컴파일되는 코드 작성, 직접 테스트 케이스 만들기, 실패 메시지 해석입니다. 그런 다음 초대장에 링크된 튜토리얼이나 연습 환경을 사용하세요.

어떤 주제를 준비해야 하나요?

채용 공고는 두 번째 준비 방향을 가장 잘 알려주는 단서입니다. IBM의 개발자 안내에 따르면 기술 주제에는 자료구조, 네트워킹, 기술 일반, 데이터 처리가 포함될 수 있습니다. 소프트웨어 엔지니어링, 데이터, AI, 인프라 직무마다 비중이 달라집니다.

직무군우선 연습할 내용좋은 제출물이 보여주는 것
소프트웨어 엔지니어링배열, 문자열, 해싱, 정렬, 구간, 트리, 그래프정확성, 복잡도, 엣지 케이스, 읽기 쉬운 구현
데이터 엔지니어링SQL, 조인, 집계, 데이터 변환, 기본 알고리즘데이터 의미 이해, null 처리, 규모, 항상 같은 순서의 출력
데이터 사이언스 및 AIPython, SQL, 배열, 통계, 데이터 가공shape 추론, 가정, 수치 및 데이터 엣지 케이스
클라우드 및 인프라코딩 기본기와 네트워킹, Linux, API, 자동화운영 관점의 추론과 장애를 고려한 코드

지원자 토론에서 코딩 문제 두 개가 나왔다는 언급이 있을 수 있지만, 이는 하나의 보고일 뿐 모든 테스트의 틀은 아닙니다. 아래의 기출 문제 근거는 내 테스트를 정확히 예측하는 용도보다 패턴 지도로 쓰는 편이 더 유용합니다.

PracHub 문제 모음의 실제 IBM 코딩 문제 4개

현재 PracHub에는 정규화된 라운드 필드가 문자 그대로 "Online Assessment"인 IBM 기록이 공개되어 있지 않습니다. 아래 네 건은 Technical Screen으로 저장되어 있지만, 그 바탕이 된 지원자 보고에는 해당 문제가 OA였다고 분명히 적혀 있습니다. 문제 모음의 라벨을 몰래 바꾸거나 모든 IBM 테스트가 같은 문제를 재사용한다고 암시하지 않고, 이 구분을 그대로 보여드립니다.

실제 문제보고된 과제알아야 할 패턴OA 연습에 유용한 이유
Compute minimum rooms for meeting schedule(회의 일정에 필요한 최소 회의실 수 계산)정렬되지 않은 반개구간 회의 구간이 주어질 때 필요한 최소 회의실 수를 반환정렬, 투 포인터 또는 최소 힙, 경계가 맞닿을 때의 처리 기준이야기를 이벤트로 바꾸고, 종료 시각과 시작 시각이 같은 경우를 처리하는지 확인함
Reverse last two characters with space(마지막 두 문자를 뒤집고 공백 넣기)"bat" 같은 문자열에 대해 "t a"를 반환직접 인덱싱, 출력 형식, 최소 길이 가정과하게 복잡하게 풀거나 off-by-one 오류를 내기 쉬운 짧은 정확도 확인 문제
Maximize palindromic strings after character swaps(문자 교환 후 팰린드롬 문자열 수 최대화)문자열 사이에서 문자를 교환해 팰린드롬이 될 수 있는 문자열 수를 최대화전체 빈도 집계, 쌍 예산, 그리디 배분연산은 국소적으로 보이지만, 문자열 길이는 고정된 채 문자가 하나의 공용 풀을 이룬다는 점이 핵심 단순화
Find minimum subarray length with k distinct integers(서로 다른 정수 k개를 가진 최소 부분 배열 길이 구하기)서로 다른 값이 정확히 k개인 가장 짧은 연속 부분 배열을 반환슬라이딩 윈도우, 빈도 맵, 신중한 윈도우 축소"정확히 k개"와 더 쉬운 "최대 k개" 패턴을 구분하게 하고, 오래된 카운트 버그를 드러냄
IBM 기출 문제 패턴 단계표 보고된 IBM 코딩 문제 4개가 문자열 인덱싱에서 구간과 문자 예산을 거쳐 슬라이딩 윈도우로 이어집니다. 실제 IBM 보고에서 뽑은 4단계 패턴 연습 사다리 정확도부터 시작해 상태, 불변식, 복잡도를 차례로 더하세요. 문자열 인덱싱 두 문자 뒤집기 경계 + 출력 형식 구간 이벤트 최소 회의실 정렬 + 동점 규칙 쌍 예산 최대 팰린드롬 빈도 + 그리디 슬라이딩 윈도우 정확히 k개 서로 다른 값 맵 + 불변식
표면적인 난이도만으로 순서를 정하지 마세요. 이 네 문제는 시간 압박 속에서 서로 다른 실수를 유발합니다.

문제 1: 회의 일정에 필요한 최소 회의실 수

IBM 회의실 문제는 [start, end] 구간 목록을 주고 필요한 최소 회의실 수를 묻습니다. 구간은 정렬되어 있지 않습니다. 한 회의가 시각 t에 끝나고 다른 회의가 시각 t에 시작하면 같은 회의실을 쓸 수 있습니다.

표준 풀이 두 가지 모두 적합합니다.

  • 시작 시각과 종료 시각을 각각 정렬한 뒤 투 포인터로 훑습니다.
  • 회의를 시작 시각 순으로 정렬하고, 진행 중인 회의의 종료 시각을 최소 힙에 보관합니다.

투 포인터 풀이의 핵심 줄은 <=가 아니라 starts[i] < ends[j]를 쓰는 부분입니다. 시각 t에 끝나는 회의는 시각 t에 시작하는 회의가 회의실을 쓰기 전에 먼저 회의실을 비웁니다. 실행 시간은 정렬이 좌우하므로 목표는 O(n log n) 시간입니다.

연습 문제: Compute shared free time intervals(공통 빈 시간 구간 계산) (IBM · 소프트웨어 엔지니어)

테스트기대 회의실 수확인하는 것
[]0빈 입력에 대한 문제 조건
[[1, 4]]1구간이 하나인 경우
[[1, 2], [2, 3]]1맞닿은 반개구간
[[1, 4], [2, 5], [3, 6]]3최대 겹침
[[5, 7], [1, 10], [2, 3]]2정렬되지 않은 입력

문제 2: 마지막 두 문자 뒤집기

IBM 문자열 문제는 일부러 아주 단순하게 만든 문제입니다. "bat"이 주어지면 "t a"를 출력합니다. 여기서 얻을 준비 교훈은 알고리즘이 아니라 꼼꼼함입니다. 문자열이 최소 두 글자인지 확인하고, 직접 인덱싱을 쓰고, 출력을 정확히 맞추세요. 히든 테스트는 "ta", "t a", 거꾸로 된 인덱싱을 망가진 그래프 알고리즘만큼 단호하게 불합격 처리할 수 있습니다.

문제 3: 교환 후 팰린드롬 문자열 수 최대화

팰린드롬 문제에서는 한 문자열의 문자 하나를 다른 문자열의 문자 하나와 횟수 제한 없이 교환할 수 있습니다. 각 문자열의 길이는 원래대로 유지됩니다.

발상의 전환은 교환을 직접 시뮬레이션하지 않는 것입니다. 문자열 간 교환이 무제한이면 문자는 하나의 전체 재고처럼 취급됩니다. 길이 L의 팰린드롬에는 floor(L / 2)개의 문자 쌍이 필요하고, L이 홀수이면 중앙에 임의의 문자 하나가 더 필요합니다. 모든 문자 빈도를 세어 전체 쌍 예산으로 바꾸고, 필요한 쌍 수가 가장 적은 문자열부터 그 예산을 배분하세요. 면접관은 복잡한 연산을 그것이 만들어 내는 불변식으로 바꿔 생각할 수 있는지 보고 있습니다.

코드를 짜기 전에 빈 문자열이 허용되는지, 영어 소문자만 나오는지 물어보세요. 이런 세부 사항은 핵심 추론을 바꾸지는 않지만 빈도 구조를 결정합니다.

문제 4: 서로 다른 값이 정확히 k개인 가장 짧은 부분 배열

정확히 k개 문제는 서로 다른 정수가 정확히 k개인 연속 부분 배열의 최소 길이를 묻고, 그런 윈도우가 없으면 -1을 반환하게 합니다.

슬라이딩 윈도우와 빈도 맵을 쓰세요. 윈도우에 서로 다른 값이 k개보다 많으면 다시 유효해질 때까지 왼쪽 경계를 앞으로 옮깁니다. 정확히 k개일 때는 가장 왼쪽 값이 윈도우 안에 계속 남는 동안 왼쪽의 중복 사본을 제거합니다. 그런 다음에야 길이를 측정합니다. 이 "서로 다른 값을 잃지 않는 범위에서 줄이기" 규칙이 유효한 윈도우를 현재 오른쪽 경계에서 끝나는 가장 짧은 유효 윈도우로 만들어 줍니다.

k = 0, 빈 배열, 모든 값이 같은 경우, 전체 서로 다른 값의 수보다 k가 큰 경우, 음의 정수, 가장 왼쪽 값이 여러 번 나오는 윈도우를 테스트하세요. 각 포인터가 최대 n번만 앞으로 가므로 의도된 복잡도는 O(n) 시간입니다.

연습 문제: Count Index Triplets Whose Max Minus Min Is at Most d(최댓값과 최솟값의 차가 d 이하인 인덱스 세 쌍의 개수 세기) (IBM · 소프트웨어 엔지니어)

시간 배분, 히든 테스트, 제출 전략

IBM은 공통 소요 시간을 공개하지 않으므로 "문제당 30분" 같은 고정 규칙은 맞지 않을 수 있습니다. 초대장에 표시된 타이머에 맞춰 조절되는 비율을 사용하세요.

시간 비율할 일구체적인 결과물
처음 5%모든 섹션과 제약 조건 훑어보기문제 풀이 순서와 위험 지도
다음 15%예시 작성, 접근법 선택, 복잡도 추정설명할 수 있는 계획
다음 60%가장 단순하면서 정확한 풀이 구현문제 조건 전체를 만족하는 실행 가능한 코드
다음 15%엣지 케이스와 예상되는 히든 테스트 공략샘플을 넘어서는 근거
마지막 5%제약 조건을 다시 읽고 신중하게 제출깔끔한 최종 답안

문제가 여러 개라면 먼저 전부 훑어보세요. 실제 예시 네 개가 그 이유를 보여줍니다. 짧은 문자열 문제에 팰린드롬이나 슬라이딩 윈도우 문제와 같은 설계 시간을 쓰면 안 됩니다. 깔끔한 결과를 먼저 확보하고, 남은 시간은 추론이 필요한 문제에 쓰세요.

히든 테스트가 주로 드러내는 것

히든 테스트는 대개 문제에 적힌 조건에서 자연스럽게 따라 나오는 경우인데, 샘플이 다루지 않은 것들입니다.

실패 패턴제출 전 테스트IBM 문제 모음 예시
경계 실수빈 입력, 항목 하나, 허용되는 최소 크기두 문자 뒤집기 문제는 명확한 최소 길이가 필요
동점 처리 기준같은 타임스탬프, 중복, 맞닿은 구간시각 t에 끝나는 회의와 시각 t에 시작하는 회의
잘못된 상태반복 호출, 오래된 전역 변수, 변경된 입력빈도 맵은 현재 윈도우만 나타내야 함
수치 또는 카운트 오류0, 음수, 홀수 합계, 오버플로팰린드롬의 중앙 문자와 남는 문자
복잡도 실패최대 제약에 가까운 합성 입력슬라이딩 윈도우를 인덱스마다 다시 시작하면 안 됨
출력 불일치정확한 반환 타입, 순서, 공백, 대소문자"t a"는 "ta"가 아님

샘플이 통과했다고 멈추지 마세요. 알고리즘이 유지하는 불변식을 말로 정리하고, 시간 및 공간 복잡도를 도출하고, 최소 세 개의 반례 테스트를 직접 작성하세요.

추가로 시간을 재고 연습하려면 위의 패턴이 손에 익을 때까지 IBM 코딩 및 알고리즘 문제 안에서 풀어 보세요. 그다음 이후 기술 면접을 위해 소프트웨어 엔지니어 문제 모음으로 범위를 넓히세요.

IBM 코딩 테스트 7일 준비 계획

IBM 코딩 테스트 7일 준비 워크플로

7일의 응시 기간을 진단, 보완, 모의 테스트의 순환으로 활용하세요.

일차집중 내용구체적인 결과물
1초대장과 채용 공고 읽기플랫폼, 타이머, 섹션, 언어, 마감일, 직무별 필요 역량 지도
2시간을 재고 진단 테스트IBM 문자열 문제와 구간 문제 풀기, 오답 노트 시작
3상태를 다루는 패턴 보완정확히 k개 슬라이딩 윈도우 문제와 관련 문제 두 개 풀기
4직무별 내용 연습채용 공고에 맞춘 SQL, 데이터, 네트워킹 또는 클라우드 연습
5히든 테스트 대비 훈련제출 전에 엣지 케이스 표를 풀이 두 개에 적용
6전체 테스트 모의 응시선택한 언어로 중단 없이 한 번에 진행
7가볍게 복습하고 응시 완료안정적인 환경, 컨디션 좋은 상태의 응시, 신중한 제출

실수는 문제 이름이 아니라 원인별로 기록하세요. "동점일 때 구간을 해제하는 것을 잊음", "중복을 줄이기 전에 윈도우 길이를 측정함"은 다시 쓸 수 있는 교훈입니다. "3번 문제를 틀림"은 그렇지 않습니다.

응시 당일 규칙, 감독 방식, 개인정보

IBM의 지원자 개인정보 처리 안내에 따르면 IBM은 코딩 테스트 중 작성한 코드를 기록하고 저장할 수 있으며, 코딩 문제 중에 웹캠 사진을 한 장 이상 저장할 수 있습니다. 영상이 포함된 테스트에서는 녹화가 생성될 수도 있습니다. 이 문구는 수집될 수 있는 경우를 설명할 뿐, 모든 IBM 코딩 테스트가 영상을 계속 녹화한다는 증거는 아닙니다.

시작하기 전에 동의 화면과 초대장을 읽으세요. 카메라 권한을 확인하고, 관련 없는 애플리케이션은 종료하고, 요청이 있을 경우를 대비해 신분증을 준비해 두세요. 편의 제공이 필요하면 마감일 전에 테스트 지원 채널에 연락하세요.

IBM의 지원 안내는 AI 사용 기준도 분명히 합니다. 개념을 배우는 데 AI를 쓰는 것은 권장하지만, 테스트에서 기술적 풀이를 AI로 다시 쓰는 것은 허용되지 않습니다. 필요하다면 사전에 AI로 준비하세요. 테스트 중에는 화면에 표시된 규칙을 따르고 본인의 힘으로 제출하세요.

타이머를 시작하기 전최종 제출 전
마감일과 시간대 확인모든 제약 조건 다시 읽기
브라우저, 네트워크, 카메라, 키보드 점검경계, 동점, 대규모 입력 테스트 실행
깊이 아는 허용 언어 선택디버그 출력과 쓰지 않는 코드 제거
한 번에 응시할 수 있는 충분한 시간 확보반환 타입과 출력 형식 확인
규칙이 허용하는 자료만 열어 두기타이머가 끝나기 전에 제출

IBM 코딩 테스트 FAQ

IBM 코딩 테스트는 몇 문제인가요?

IBM은 공통 문항 수를 공개하지 않습니다. 지원자 보고는 직무와 지역에 따라 다릅니다. PracHub 문제 모음에는 코딩 문제가 두 개씩 나온 IBM 보고가 있지만, 내 테스트에도 두 문제가 나온다는 보장은 아닙니다. 정확한 구성은 초대장과 테스트 시작 전 화면에서 확인하세요.

IBM 코딩 테스트는 시간이 얼마나 걸리나요?

타이머는 테스트마다 다릅니다. IBM의 공개 FAQ는 지원자에게 본인의 테스트에 시간 제한이 있는지 확인하고, 한 번에 끝낼 수 있도록 방해받지 않는 충분한 시간을 확보하라고 안내합니다. 별도로 언급된 7일 규칙은 초대 후 완료해야 하는 기간이며, 테스트 자체의 소요 시간을 뜻하는 것은 아닙니다.

위의 네 문제가 반드시 출제되나요?

아닙니다. 지원자 보고를 바탕으로 PracHub 문제 모음에 올라온 IBM 태그의 실제 문제로, 보고된 난이도 수준과 패턴 구성을 보여주기 위해 실었습니다. 유출되었거나 출제가 보장된 문제 세트가 아니라 연습용 근거로 사용하세요.

난이도는 어느 정도로 예상해야 하나요?

공식적으로 공통 난이도 표기는 없습니다. 보고된 IBM 예시는 단순한 문자열 인덱싱부터 중간 난이도의 구간, 그리디, 슬라이딩 윈도우 문제까지 다양합니다. 쉬운 정확도 확인 문제는 빠르게 끝내고, 흔한 중간 난이도 패턴은 깔끔한 복잡도와 엣지 케이스 추론으로 풀 수 있도록 준비하세요.

프로그래밍 언어를 선택할 수 있나요?

사용 가능한 언어는 테스트 환경과 직무에 따라 다릅니다. IBM의 개발자 안내는 대부분의 경우 가장 자신 있는 언어를 쓰라고 권하지만, 언어 선택 화면과 초대장이 우선합니다. 타이머를 시작하기 전에 지원 여부를 확인하고, 그 언어로 입력, 출력, 테스트 흐름을 그대로 연습하세요.

IBM은 코딩 테스트를 녹화하나요?

IBM의 개인정보 안내에 따르면 코딩 문제 중에 코드가 저장되고 웹캠 사진이 한 장 이상 촬영될 수 있으며, 영상이 포함된 테스트는 녹화될 수도 있습니다. 모든 테스트에서 똑같이 모니터링한다는 증거는 아닙니다. 내 테스트에 표시되는 권한과 개인정보 안내를 읽어 보세요.

IBM 코딩 테스트를 다시 볼 수 있나요?

IBM은 모든 테스트에 적용되는 하나의 재응시 정책을 공개하지 않습니다. 기술적 문제로 응시가 중단되면 즉시 기록해 두고 초대장에 있는 지원 연락처를 이용하세요. 새로 고침, 다시 열기, 또는 다른 지원서를 새로 시작하는 것이 유효한 재응시가 된다고 가정하지 마세요.

실전적인 다음 단계는 간단합니다. 링크된 IBM 문제 4개를 한 번에 풀고, 어떤 불변식이나 엣지 케이스에서 가장 먼저 막혔는지 기록한 뒤, 실제 코딩 테스트를 보기 전에 그 약점을 보완하세요.

출처 및 추가 자료

IBM 면접 문제 풀어보기

IBM 면접 문제 풀어보기