25개 표시
성장 루트
Two Sum
정수 배열 nums와 정수 target이 주어질 때, 두 수의 합이 target이 되는 인덱스를 반환하세요. 예시: 입력: nums = [2,7,11,15], target = 9 출력: [0,1]
Reverse String
문자열 s를 받아 뒤집은 문자열을 반환하세요. 예시: 입력: s = "hello" 출력: "olleh"
Valid Parentheses
문자열 s가 주어질 때, 괄호가 올바르게 짝지어져 있는지 확인하세요. 예시: 입력: s = "()[]{}" 출력: True 입력: s = "([)]" 출력: False
Climbing Stairs
계단 꼭대기에 도달하려면 n개의 계단을 오를 수 있습니다. 한 번에 1계단 또는 2계단을 오를 수 있을 때, 꼭대기에 도달하는 방법의 수를 구하세요. 예시: 입력: n = 3 출력: 3 (1+1+1, 1+2, 2+1)
Merge Sorted Array
오름차순으로 정렬된 두 배열 nums1과 nums2가 있습니다. nums1의 크기는 nums1 길이 + nums2 길이로 충분합니다. 두 배열을 병합하여 nums1을 오름차순 정렬된 하나의 배열로 만드세요 (in-place). 예시: 입력: nums1 = [1,2,3,0,0,0], m = 3, nums2 = [2,5,6], n = 3 출력: [1,2,2,3,5,6]
Fibonacci Number
정수 n이 주어질 때, 피본치 수열의 n번째 숫자를 반환하세요. F(0) = 0, F(1) = 1 F(n) = F(n-1) + F(n-2)
Maximum Subarray
정수 배열 nums가 주어질 때, 연속된 부분 배열의 합이 최대가 되는 값을 구하세요. 예시: 입력: nums = [-2,1,-3,4,-1,2,1,-5,4] 출력: 6 (부분 배열 [4,-1,2,1])
Binary Search
오름차순으로 정렬된 배열 nums에서 target의 인덱스를 찾으세요. 없으면 -1을 반환하세요. 예시: 입력: nums = [-1,0,3,5,9,12], target = 9 출력: 4
First Bad Version
제품의 버전 1 ~ n 중 처음으로 버그가 생긴 버전을 찾으세요. isBadVersion(version) API가 있으며, 어떤 버전이 버그면 그 이후 모든 버전도 버그입니다. 예시: 입력: n = 5, bad = 4 출력: 4
Linked List Cycle
링크드 리스트의 head가 주어질 때, 사이클(순환)이 있는지 확인하세요. 예시: 입력: head = [3,2,0,-4], pos = 1 출력: True (마지막 노드가 인덱스 1 노드를 가리킴)
Longest Substring Without Repeating Characters
문자열 s가 주어질 때, 반복되지 않는 문자로만 구성된 가장 긴 부분 문자열의 길이를 구하세요. 예시: 입력: s = "abcabcbb" 출력: 3 ("abc")
Number of Islands
2D 그리드 맵이 주어질 때, 섬의 개수를 세세요. 1은 땅, 0은 물입니다. 섬은 상하좌우로 연결된 땅의 그룹입니다. 예시: 입력: grid = [ ["1","1","0","0","0"], ["1","1","0","0","0"], ["0","0","1","0","0"], ["0","0","0","1","1"] ] 출력: 3
Top K Frequent Elements
정수 배열 nums와 정수 k가 주어질 때, 가장 빈번하게 등장하는 k개의 원소를 반환하세요. 예시: 입력: nums = [1,1,1,2,2,3], k = 2 출력: [1,2]
날씨 API 클라이언트
공개 날씨 API(Open-Meteo)를 사용하여 특정 도시의 현재 날씨를 조회하는 CLI 프로그램을 만드세요. 요구사항: - 도시명을 입력받아 위도/경도 조회 - 현재 기온, 날씨 상태 출력 - 에러 핸들링 (존재하지 않는 도시, API 실패)
파일 정리 스크립트
다운로드 폴더의 파일들을 확장자별로 자동 분류하는 Python 스크립트를 작성하세요. 요구사항: - 다운로드 폴더 스캔 - 확장자별 서브폴더 생성 (images, documents, videos, etc.) - 파일 이동 + 중복 이름 처리 - 실행 로그 출력
TODO 리스트 앱 만들기
Python으로 간단한 TODO 리스트 CLI 앱을 만드세요. 추가, 삭제, 목록 보기 기능이 필요합니다.
간단한 웹 스크래퍼
특정 웹사이트의 뉴스 제목을 크롤링하는 Python 스크래퍼를 만드세요. 요구사항: - requests + BeautifulSoup 사용 - 특정 URL의 기사 제목 10개 추출 - CSV 파일로 저장 - robots.txt 준수 여부 확인
강력한 비밀번호 생성기
보안 요구사항을 충족하는 랜덤 비밀번호 생성기를 만드세요. 요구사항: - 길이, 대문자/소문자/숫자/특수문자 포함 여부 설정 가능 - 생성된 비밀번호의 강도 분석 (약함/보통/강함) - CLI 인터페이스
Mini REST API (Flask)
Flask로 간단한 북마크 관리 REST API를 구축하세요. 요구사항: - CRUD 엔드포인트 (GET/POST/PUT/DELETE) - JSON 요청/응답 - 메모리 내 저장 (딕셔너리 사용) - 에러 핸들링 (404, 400) - Postman/curl로 테스트 가능
네트워크 면접: HTTP vs HTTPS
웹 개발 면접에서 자주 나오는 질문입니다. "HTTP와 HTTPS의 차이점은 무엇인가요? 그리고 HTTPS는 어떻게 동작하나요?" 최대한 상세하고 구조적으로 답변을 작성하세요.
데이터베이스 면접: 인덱스와 최적화
데이터베이스 면접에서 자주 나오는 질문입니다. "데이터베이스 인덱스는 무엇이며, 어떤 경우에 사용하면 좋고 어떤 경우에 피해야 하나요?" 최대한 상세하고 구조적으로 답변을 작성하세요.
백엔드 면접: REST API 설계
백엔드 개발 면접에서 자주 나오는 질문입니다. "RESTful API를 설계할 때 지켜야 할 원칙과 Best Practice를 설명하세요." 최대한 상세하고 구조적으로 답변을 작성하세요.
OS 면접: 프로세스 vs 스레드
운영체제 면접에서 자주 나오는 질문입니다. "프로세스와 스레드의 차이점은 무엇인가요?" 최대한 상세하고 구조적으로 답변을 작성하세요.
DevOps 면접: Docker와 컨테이너
DevOps/인프라 면접에서 자주 나오는 질문입니다. "Docker 컨테이너와 VM의 차이점은 무엇이며, Dockerfile을 작성할 때 Best Practice는 무엇인가요?" 최대한 상세하고 구조적으로 답변을 작성하세요.
시스템 설계: URL 단축 서비스
시니어 개발자 면접에서 나오는 설계 문제입니다. "Twitter급 트래픽을 처리할 수 있는 URL 단축 서비스를 설계하세요." 요구사항: - 단축 URL 생성 - 리다이렉트 (빠른 조회) - 클릭 수 추적 - 1년간 데이터 보관 데이터베이스, 캐시, 해시 함수, 규모 확장성을 고려하여 설명하세요.