본문 바로가기

백준 알고리즘

(29)
백준 알고리즘 문제 풀이 가이드: 코딩 면접 대비 완벽 준비-14425 문자열 집합 편 (python) 문제 살펴보기!!문제 링크 : https://www.acmicpc.net/problem/14425솔루션 살펴보기!!import sysdef input(): return sys.stdin.readline().rstrip()def main(): N, M = map(int, input().split()) # Set 사용하여 N개의 문자열 저장 dic = set(input() for _ in range(N)) # M개의 입력과 dic의 교집합 개수 구하기 ans = sum(1 for _ in range(M) if input() in dic) # 결과 출력 print(ans)if __name__ == "__main__": main()코드 흐름 ..
백준 알고리즘 문제 풀이 가이드: 코딩 면접 대비 완벽 준비-1620 나는야 포켓몬 마스터 이다솜 편 (python) 문제 살펴보기!! 문제 링크 : https://www.acmicpc.net/problem/1620솔루션 살펴보기!!def main(): import sys input = sys.stdin.readline pokemon = {} pokemon_seq = {} # 입력 처리 N, Q = map(int, input().split()) for i in range(1, N + 1): name = input().strip() idx = str(i) pokemon[name] = idx pokemon_seq[idx] = name # 질의 처리 for _ in range(Q): query = input().st..
백준 알고리즘 문제 풀이 가이드: 코딩 면접 대비 완벽 준비-2800 괄호 제거 편 (python) 문제 살펴보기!!문제 링크 : https://www.acmicpc.net/problem/2800솔루션 살펴보기!!import sysdef input(): return sys.stdin.readline().rstrip()s = input()n = len(s)# 괄호 쌍 인덱스를 기록할 리스트와 스택 초기화bracket_index = [-1] * nstack = []pair_count = 0# 괄호 쌍에 번호를 기록for i, char in enumerate(s): if char == '(': stack.append(pair_count) bracket_index[i] = pair_count pair_count += 1 elif char == ')': ..
백준 알고리즘 문제 풀이 가이드: 코딩 면접 대비 완벽 준비-2493 탑 편 (python) 문제 살펴보기!!문제 링크 : https://www.acmicpc.net/problem/2493솔루션 살펴보기!!import sysclass Pair: def __init__(self, x, y): self.x = x # 건물의 높이 self.y = y # 건물의 위치def main(): input = sys.stdin.read data = list(map(int, input().split())) # 입력을 한번에 처리하고 정수 리스트로 변환 N = data[0] heights = data[1:] receive = [0] * (N + 1) # 수신받는 건물 위치 저장 (인덱스 1부터 N까지 사용) stack = [] # 스택을..
백준 알고리즘 문제 풀이 가이드: 코딩 면접 대비 완벽 준비-2504 괄호의 값 편 (python) 문제 살펴보기!!문제 링크 : https://www.acmicpc.net/problem/2504솔루션 살펴보기!!import sysdef input(): return sys.stdin.readline().rstrip()def is_valid_bracket_sequence(s): """괄호 유효성을 검사하는 함수""" stack = [] for ch in s: if ch in '([': stack.append(ch) elif ch == ')': if stack and stack[-1] == '(': stack.pop() else: return Fal..
백준 알고리즘 문제 풀이 가이드: 코딩 면접 대비 완벽 준비-1966 프린터 큐 편 (python) 문제 살펴보기!!문제 링크 : https://www.acmicpc.net/problem/1966솔루션 살펴보기!!from collections import dequedef process_print_queue(N, M, priorities): queue = deque((priority, idx) for idx, priority in enumerate(priorities)) # 우선순위와 인덱스를 함께 저장 printed_count = 0 # 출력된 문서의 수 while queue: # 가장 앞에 있는 문서의 우선순위가 가장 큰지 확인 if queue[0][0] == max(queue, key=lambda x: x[0])[0]: printed_..
백준 알고리즘 문제 풀이 가이드: 코딩 면접 대비 완벽 준비-1935 후위 표기식2 편 (python) 문제 살펴보기!!문제 링크 :https://www.acmicpc.net/problem/1935솔루션 살펴보기!!import sysdef input(): return sys.stdin.readline().rstrip()def postfix_evaluation(expression, values): operators = { '+': lambda b, a: a + b, '-': lambda b, a: a - b, '*': lambda b, a: a * b, '/': lambda b, a: a / b } stack = [] value_mapping = {} # 문자와 값을 매핑 value_iter = iter(v..
백준 알고리즘 문제 풀이 가이드: 코딩 면접 대비 완벽 준비-10866 덱(Deque) 편 (python) 문제 살펴보기!!문제 링크 : https://www.acmicpc.net/problem/10866솔루션 살펴보기!!import sysfrom collections import dequedef input(): return sys.stdin.readline().rstrip()def process_commands(): queue = deque() N = int(input()) commands = { 'push_front': lambda x: queue.appendleft(x), 'push_back': lambda x: queue.append(x), 'pop_front': lambda: print(queue.popleft() if queue else -..