백준 문제풀이 (4) 썸네일형 리스트형 백준 4949 파이썬 풀이 안녕하세요 호박감자입니다. 이번엔 4949번 풀이를 리뷰하겠습니다. 스택을 사용한 코드로, 간략히 만 설명하겠습니다. import sys input = sys.stdin.readline sentence = input() while sentence != '.\n': stack = [] for s in sentence: if s == '(': stack.append('(') elif s == '[': stack.append('[') elif s == ')': if not stack or stack.pop() != '(': print('no') break elif s == ']': if not stack or stack.pop() != '[': print('no') break else: print('yes' .. 백준 2164 파이썬 풀이 안녕하세요 호박감자입니다. 오늘 풀어볼 문제는 백준의 2164번 카드 2 문제입니다. 이 문제에서는 보통 많은 분들이 큐를 사용해서 푸는 것 같습니다. 저는 큐를 사용해서 풀지 않았는데요, 제가 찾은 규칙을 사용한 코드와, 다른 사람의 코드 중에서 정말 좋았던 코드를 리뷰해보겠습니다. 1. 내코드 코드를 짜면서 생각한 규칙을 먼저 설명하겠습니다. 카드 덱의 맨 윗장, 즉, 1번 카드를 버리게 됩니다. 그리고 2번 카드는 맨 아래로 가게됩니다. 3번 카드는 버려집니다. 4번 카드는 맨 아래로 가게됩니다. 이런식으로 반복이 된다면, 만일 10장의 카드가 있었다고 할 때, 생존할 카드는 다음과 같을 것입니다. 1 2 3 4 5 6 7 8 9 10 그리고 2번 부터 차례로 밑으로 이동되었으니, 9번 카드를 버리.. 백준 2108 파이썬 풀이 안녕하세요 호박감자입니다. 이번엔 2108번 통계학 문제에 대해서 제가 짠 코드를 리뷰해보겠습니다. 이번 코드는 간략히 만 소개하겠습니다. import sys def find_frequency(li): frequency_list = [0] * 8001 # -4000 ~ 4000 for num in li: ind = num + 4000 frequency_list[ind] += 1 max_num = max(frequency_list) max_index = frequency_list.index(max_num) if frequency_list.count(max_num) > 1: frequency_list[max_index] = 0 return frequency_list.index(max_num) - 4000 i.. 백준 2805 파이썬 풀이 안녕하세요 호박감자입니다. 블로그 글을 올리는게 쉽지 않네요. 하지만 놀고만 있느라 글을 못쓰고 있는건 아닙니다 ㅎㅎ 오늘부터는 알고리즘 스터디에서 공부하며 풀고있는, 백준 문제들에 대한 제 코드와 또 굉장히 좋다고 생각하는 다른 사람의 코드를 리뷰해보도록 하겠습니다. 특히나 이번 글은 제가 풀었던 방법을 먼저 소개하고, 다른 사람의 코드 중에 좋은 알고리즘을 소개하겠습니다. 바로 시작하겠습니다. 1. 내코드 백준 리뷰 문제 첫번째는 2805번 나무 자르기 문제입니다. (문제에 대한 설명은 생략하겠습니다.) 사용된 알고리즘: 이진 탐색 def check_func(list, h, d): sum_t = 0 for t in list: if t = d: return True else: return False 먼.. 이전 1 다음