반응형

코테 26

코딩 테스트 대비! 파이썬으로 "연결 리스트 역순 구현" 문제 해결

파이썬으로 "연결 리스트 역순 구현" 문제 해결 문제 설명 단일 연결 리스트가 주어졌을 때, 연결 리스트를 역순으로 재구성하라. 예시 입출력 - 입력: head = [1, 2, 3, 4, 5] - 출력: [5, 4, 3, 2, 1] 솔루션 코드 class ListNode: def __init__(self, val=0, next=None): self.val = val self.next = next def reverseList(head): prev = None curr = head while curr: temp = curr.next curr.next = prev prev = curr curr = temp return prev # 테스트 케이스 node1 = ListNode(1) node2 = ListNode..

코딩 테스트 대비! 파이썬으로 "LRU 캐시 구현" 문제 풀이

파이썬으로 "LRU 캐시 구현" 문제 풀이 문제 설명 LRU(Least Recently Used) 캐시 구조를 구현하는 클래스를 디자인하세요. 캐시는 다음 연산을 제공해야 합니다: - get(key): 키에 해당하는 값을 가져옵니다. 키가 존재하면 값을 반환하고, 그렇지 않으면 -1을 반환합니다. - put(key, value): 키와 값을 캐시에 삽입합니다. 캐시의 크기가 넘치면 가장 오랫동안 사용하지 않은 항목을 제거합니다. 예시 LRUCache lru = new LRUCache(2); // 크기 2의 LRU 캐시 생성 lru.put(1, 1); // 캐시: {1=1} lru.put(2, 2); // 캐시: {1=1, 2=2} lru.get(1); // 값 1 반환, 캐시: {2=2, 1=1} lru..

코딩 테스트 대비! 파이썬으로 "원형 데크(Circular Deque) 구현" 문제 풀이

파이썬으로 "원형 데크(Circular Deque) 구현" 문제 풀이 문제 설명 원형 데크(Circular Deque)를 디자인하는 클래스를 구현하세요. 원형 데크는 앞뒤로 양방향 삽입과 삭제가 가능한 자료구조입니다. 원형 데크는 다음 메서드를 제공해야 합니다: - MyCircularDeque(k): 크기가 k인 원형 데크를 생성합니다. - insertFront(value): 원형 데크의 앞에 값을 삽입합니다. 데크가 가득 차 있으면 false를 반환합니다. - insertLast(value): 원형 데크의 뒤에 값을 삽입합니다. 데크가 가득 차 있으면 false를 반환합니다. - deleteFront(): 원형 데크의 앞 값을 삭제하고, 삭제한 값을 반환합니다. 데크가 비어있으면 -1을 반환합니다. -..

코딩 테스트 대비! 파이썬으로 "이진 트리 반전" 문제 풀이

파이썬으로 "이진 트리 반전" 문제 풀이 문제 설명 이진 트리의 루트 노드가 주어졌을 때, 해당 트리를 반전(좌우 대칭)시키는 프로그램을 작성하세요. 예시 입력: root = [4,2,7,1,3,6,9] 출력: [4,7,2,9,6,3,1] 솔루션 코드 class TreeNode: def __init__(self, val=0, left=None, right=None): self.val = val self.left = left self.right = right def invert_tree(root): if not root: return None # 좌우 자식 노드 반전 root.left, root.right = root.right, root.left # 재귀로 반전 진행 root.left = invert_t..

코딩 테스트 대비! 파이썬으로 "유효한 괄호" 문제 풀이

파이썬으로 "유효한 괄호" 문제 풀이 문제 설명 괄호로 구성된 문자열 s가 주어졌을 때, 괄호의 열림과 닫힘이 올바르게 되어있는지 확인하는 프로그램을 작성하세요. 제약 조건 - 1 true - s = "(]" -> false - s = "([)]" -> false 솔루션 코드 def is_valid(s): stack = [] mapping = {")":"(", "}":"{", "]":"["} for char in s: if char in mapping.values(): # 여는 괄호면 스택에 push stack.append(char) else: # 닫는 괄호면 if not stack: # 스택이 비어있다면 바로 false return False elif stack.pop() != mapping[char]..

반응형