pypy3

    [백준(BOJ)] #1182- 부분수열의 합 (파이썬, PyPy3)

    문제 https://www.acmicpc.net/problem/1182 1182번: 부분수열의 합 첫째 줄에 정수의 개수를 나타내는 N과 정수 S가 주어진다. (1 ≤ N ≤ 20, |S| ≤ 1,000,000) 둘째 줄에 N개의 정수가 빈 칸을 사이에 두고 주어진다. 주어지는 정수의 절댓값은 100,000을 넘지 않는다. www.acmicpc.net 문제 풀이 n개의 정수에서 가능한 모든 부분 수열을 구한 뒤(*Brute Force) 부분 수열의 합이 s가 되는 경우를 찾아 더해주면 됩니다. Brute Force 알고리즘: Brute(무식한) + Force(힘) 무식하게 모든 경우의 수를 탐색하는 방법으로 완전 탐색을 의미함. n개의 정수 -7, -3, -2, 5, 8 s = 0 크기가 1인 부분 수열..

    [백준(BOJ)] #14728- 벼락치기 (파이썬, PyPy3)

    문제 https://www.acmicpc.net/problem/14728 14728번: 벼락치기 ChAOS(Chung-ang Algorithm Organization and Study) 회장이 되어 일이 많아진 준석이는 시험기간에도 일 때문에 공부를 하지 못하다가 시험 전 날이 되어버리고 말았다. 다행히도 친절하신 교수님께서 아래와 www.acmicpc.net 문제 풀이 2022.08.12 - [PS/백준] - [백준(BOJ)] #12865- 평범한 배낭 (파이썬, PyPy3) [백준(BOJ)] #12865- 평범한 배낭 (파이썬, PyPy3) 문제 https://www.acmicpc.net/problem/12865 12865번: 평범한 배낭 첫 줄에 물품의 수 N(1 ≤ N ≤ 100)과 준서가 버틸 ..

    [백준(BOJ)] #12865- 평범한 배낭 (파이썬, PyPy3)

    문제 https://www.acmicpc.net/problem/12865 12865번: 평범한 배낭 첫 줄에 물품의 수 N(1 ≤ N ≤ 100)과 준서가 버틸 수 있는 무게 K(1 ≤ K ≤ 100,000)가 주어진다. 두 번째 줄부터 N개의 줄에 거쳐 각 물건의 무게 W(1 ≤ W ≤ 100,000)와 해당 물건의 가치 V(0 ≤ V ≤ 1,000) www.acmicpc.net 문제 풀이 이 문제는 대표적인 냅색 문제(Knapsack Problem)입니다. 냅색 문제는 배낭 문제라고도 불리며 동적 계획법을 사용해 푸는 문제 중 유명한 유형의 문제입니다. 2022.07.22 - [PS/알고리즘 이론] - [파이썬으로 배우는 알고리즘] 동적 계획법(Dynamic Programming) [파이썬으로 배우는..

    [백준(BOJ)] #1005- ACM Craft (파이썬, PyPy3)

    문제 https://www.acmicpc.net/problem/1005 1005번: ACM Craft 첫째 줄에는 테스트케이스의 개수 T가 주어진다. 각 테스트 케이스는 다음과 같이 주어진다. 첫째 줄에 건물의 개수 N과 건물간의 건설순서 규칙의 총 개수 K이 주어진다. (건물의 번호는 1번부 www.acmicpc.net 문제 풀이 이 문제는 위상 정렬과 동적 계획법 알고리즘을 사용하여 해결할 수 있습니다. 2022.08.08 - [PS/알고리즘 이론] - [파이썬으로 배우는 알고리즘] 위상 정렬(Topology Sort) [파이썬으로 배우는 알고리즘] 위상 정렬(Topology Sort) 위상 정렬(Topology Sort)이란? 위상 정렬(Topology Sort)은 순서가 정해져 있는 작업을 수행해..

    [백준(BOJ)] #1285- 동전 뒤집기 (파이썬, PyPy3)

    문제 https://www.acmicpc.net/problem/1285 1285번: 동전 뒤집기 첫째 줄에 20이하의 자연수 N이 주어진다. 둘째 줄부터 N줄에 걸쳐 N개씩 동전들의 초기 상태가 주어진다. 각 줄에는 한 행에 놓인 N개의 동전의 상태가 왼쪽부터 차례대로 주어지는데, 앞면이 위 www.acmicpc.net 문제 풀이 저는 이 문제를 해결하기 위해 먼저 행 또는 열을 기준으로 선택하여 뒤집는 모든 경우의 수를 구했습니다. 이때 행을 뒤집는 연산을 할 때 비트마스킹을 적용하여 행을 뒤집는 경우의 수를 구했습니다. 2022.07.15 - [알고리즘/개념] - [파이썬으로 배우는 알고리즘] 비트마스크(BitMask) [파이썬으로 배우는 알고리즘] 비트마스크(BitMask) 1. 비트마스크(BitM..

    [백준(BOJ)] #19236- 청소년 상어 (파이썬, PyPy3)

    문제 https://www.acmicpc.net/problem/19236 19236번: 청소년 상어 첫째 줄부터 4개의 줄에 각 칸의 들어있는 물고기의 정보가 1번 행부터 순서대로 주어진다. 물고기의 정보는 두 정수 ai, bi로 이루어져 있고, ai는 물고기의 번호, bi는 방향을 의미한다. 방향 bi는 www.acmicpc.net 문제 풀이 이 문제는 구현 문제로 DFS 알고리즘을 적용하여 풀었습니다. DFS 알고리즘 --> 2022.07.12 - [알고리즘/개념] - [파이썬으로 배우는 알고리즘] DFS(깊이 우선 탐색) [파이썬으로 배우는 알고리즘] DFS(깊이 우선 탐색) 1. DFS란? DFS(Depth First Search)는 그래프의 모든 노드를 탐색하는 방법 중 하나로, 깊이를 우선으로..

    [백준(BOJ)] #17144- 미세먼지 안녕! (파이썬, PyPy3)

    문제 https://www.acmicpc.net/problem/17144 17144번: 미세먼지 안녕! 미세먼지를 제거하기 위해 구사과는 공기청정기를 설치하려고 한다. 공기청정기의 성능을 테스트하기 위해 구사과는 집을 크기가 R×C인 격자판으로 나타냈고, 1×1 크기의 칸으로 나눴다. 구사 www.acmicpc.net 문제 풀이 우선 이 문제는 구현 문제로 문제 이해를 이해하고, 문제를 어떻게 코드로 작성할 수 있는지를 확인하는 것으로 느껴졌습니다. 조건을 조금이라도 놓치고 문제를 풀게 되면, 원치 않은 결과를 얻을 수 있으므로 문제를 꼼꼼하게 읽어보는 것이 필수입니다! 미세먼지 확산 과정 미세먼지의 확산은 미세먼지가 있는 모든 칸에서 동시에 일어나기 때문에 2차원 리스트를 순차적으로 돌면서 무턱대고 확..