본문 바로가기
반응형

백준3

[백준 2042] 구간 합 구하기 풀이 세그먼트 트리를 이용한다 구글에서 검색해서 나오는 세그먼트 트리 방법들은 arr에 index를 이용하여 구현하는데 나는 그게 싫어서 class안에다가 range를 넣었다. 그러고 나니 생각보다 코드가 깔끔하게 나왔다. import sys class Tree: def __init__(self, sum, range): self.sum = sum self.range = range self.left = None self.right = None def makeTree(node, arr): if node.range[0] > node.range[1]: return 0 if node.range[0] == node.range[1]: node.sum = arr[node.range[0]] return node.sum .. 2022. 12. 27.
비전공자를 위한 알고리즘 강의 2부 - 자료구조 큐, 스택, 덱 이번시간에는 자료구조에 대해 알아보겠습니다. 알고리즘 문제를 풀기 위해서는 자료구조를 활용하는것이 몹시 중요합니다. 여러분은 다음과 같은 내용의 자료구조를 알고 사용법에 대해 아시면 됩니다. Queue Stack Deque Set Map Priority Queue 이 글에서는 가장 쉬운 자료구조인 Queue, Stack, Deque에 대해 알아보고 1부에서 나왔던 옥상정원 문제를 Stack을 이용하여 풀어보겠습니다! 0. 개요 먼저 알고리즘 문제를 풀 때 자료구조가 무슨 역할을 하는지 왜 중요한지에 대해 설명드리겠습니다. 자료구조란 일단 배열처럼 데이터를 담는 그릇이라고 생각하시면 됩니다. 단, 데이터를 담을때 특정한 규칙을 가지고 있습니다. 그리고 앞서 1부에서 강의했던것 처럼 자료구조를 이용하면 O(.. 2022. 1. 11.
[백준 15649] N과 M (1) www.acmicpc.net/problem/15649 15649번: N과 M (1) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net 문제 자연수 N과 M이 주어졌을 때, 아래 조건을 만족하는 길이가 M인 수열을 모두 구하는 프로그램을 작성하시오. 1부터 N까지 자연수 중에서 중복 없이 M개를 고른 수열 입력 첫째 줄에 자연수 N과 M이 주어진다. (1 ≤ M ≤ N ≤ 8) 출력 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으.. 2021. 3. 11.
반응형