728x90
반응형
코딩 면접에서 자주 나오는 질문 TOP 10 및 답변 전략
개발자로 취업하기 위해서는 코딩 면접을 반드시 통과해야 합니다. 많은 기업들은 **알고리즘, 데이터 구조, 시스템 설계** 등 다양한 질문을 통해 지원자의 문제 해결 능력을 평가합니다. 아래에서 **자주 나오는 질문 10가지와 효과적인 답변 전략**을 알아보세요.
1. 배열에서 중복된 요소 찾기
배열에서 중복된 요소를 찾는 코드를 작성하세요.
def find_duplicates(arr):
seen = set()
duplicates = set()
for num in arr:
if num in seen:
duplicates.add(num)
else:
seen.add(num)
return list(duplicates)
print(find_duplicates([1, 2, 3, 4, 5, 2, 3, 6])) # 출력: [2, 3]
2. 문자열이 회문인지 확인
주어진 문자열이 **회문(Palindrome)**인지 판별하는 함수를 작성하세요.
def is_palindrome(s):
return s == s[::-1]
print(is_palindrome("racecar")) # 출력: True
3. 정렬된 배열에서 특정 값 찾기 (이진 탐색)
정렬된 배열에서 주어진 값이 있는지 **이진 탐색(Binary Search)**을 사용해 찾는 코드를 작성하세요.
def binary_search(arr, target):
left, right = 0, len(arr) - 1
while left <= right:
mid = (left + right) // 2
if arr[mid] == target:
return mid
elif arr[mid] < target:
left = mid + 1
else:
right = mid - 1
return -1
print(binary_search([1, 2, 3, 4, 5, 6, 7, 8, 9], 5)) # 출력: 4
4. 피보나치 수열을 구하는 두 가지 방법
피보나치 수열을 **반복문**과 **재귀 함수**로 구현하세요.
# 반복문
def fibonacci_iter(n):
a, b = 0, 1
for _ in range(n):
a, b = b, a + b
return a
# 재귀 함수
def fibonacci_recur(n):
if n <= 1:
return n
return fibonacci_recur(n - 1) + fibonacci_recur(n - 2)
print(fibonacci_iter(10)) # 출력: 55
print(fibonacci_recur(10)) # 출력: 55
5. 스택을 이용한 괄호 검사
주어진 문자열의 괄호가 올바르게 짝을 이루는지 확인하는 함수를 작성하세요.
def is_valid_parentheses(s):
stack = []
mapping = {")": "(", "}": "{", "]": "["}
for char in s:
if char in mapping:
top_element = stack.pop() if stack else '#'
if mapping[char] != top_element:
return False
else:
stack.append(char)
return not stack
print(is_valid_parentheses("({[]})")) # 출력: True
6. 연결 리스트에서 중간 노드 찾기
연결 리스트에서 중간 노드를 찾는 함수를 작성하세요.
class ListNode:
def __init__(self, val=0, next=None):
self.val = val
self.next = next
def find_middle(head):
slow, fast = head, head
while fast and fast.next:
slow = slow.next
fast = fast.next.next
return slow.val
# 예제 실행 코드 생략 (단일 연결 리스트 필요)
결론
코딩 면접에서는 단순한 개념보다는 **문제 해결 능력과 알고리즘 이해도**가 중요합니다. 위의 질문들을 연습하면서 **효율적인 알고리즘과 데이터 구조**를 익혀 면접에서 자신감을 가지세요!
728x90
반응형
'프로그래밍' 카테고리의 다른 글
파이썬 초보자를 위한 필수 문법 10가지 - 쉽게 배우는 Python 기초 (0) | 2025.02.28 |
---|---|
2025년, 우리 삶을 바꾸는 5가지 기술 트렌드 (4) | 2025.02.04 |
코딩 초보자가 실력을 빠르게 키우는 7가지 학습 전략 (1) | 2025.02.01 |
코딩 초보자를 위한 10가지 필수 개발 도구 (1) | 2025.01.31 |
2025년 개발자가 꼭 배워야 할 필수 기술 TOP 5 (2) | 2025.01.30 |