본문 바로가기

Python45

[Python] 백준 13164 행복 유치원 문제 링크 : https://www.acmicpc.net/problem/13164 13164번: 행복 유치원 행복 유치원 원장인 태양이는 어느 날 N명의 원생들을 키 순서대로 일렬로 줄 세우고, 총 K개의 조로 나누려고 한다. 각 조에는 원생이 적어도 한 명 있어야 하며, 같은 조에 속한 원생들은 서로 www.acmicpc.net 1. 접근 방법 정렬을 우선적으로 했고, 그 이후 어떻게 짝을 지어갈지 결정해야 하는데 그 방법에서 조금 고민을 했다 2. 풀이 코드 🖥python 코드 링크: https://github.com/mintropy/baekjoon_py/blob/master/13000/13164.py GitHub - mintropy/baekjoon_py: BOJ를 Python으로 해결한 코드의 저장.. 2022. 2. 27.
Django DRF에서 serializer와 pydantic 들어가기에 앞서 1. DRF는 Django REST Framework를 의미합니다. 2. pydantic은 Python validation을 위한 라이브러리입니다. 이 글의 목적 - DRF를 사용한다면 serializer를 사용하는 것이 더 좋다고 생각합니다. - 하지만, pydantic을 활용하여 어느 정도 대체 가능한지 확인해보기 위함입니다. pydantic 공식문서의 벤치마크에 따르면 data validation에서는 serializer가 12배 이상 느리다는 평가가 있어 궁금증을 가지게 되었습니다. 코드 비교 및 설명 - 코드 : https://github.com/mintropy/Python-web-framework GitHub - mintropy/Python-web-framework Contri.. 2022. 2. 26.
[Python] 백준 21924 도시 건설 문제 링크 : https://www.acmicpc.net/problem/21924 21924번: 도시 건설 첫 번째 줄에 건물의 개수 $N$ $(3 \le N \le 10^5 )$와 도로의 개수 $M$ $(2 \le M \le min( {N(N-1) \over 2}, 5×10^5)) $가 주어진다. 두 번째 줄 부터 $M + 1$줄까지 건물의 번호 $a$, $b$ $(1 \le a, b \le N, a ≠ b)$와 두 www.acmicpc.net 1. 접근 방법 오랜만에 MSP 문제를 접근하여 방법이 잘 떠오르지 않아 여러 가지 방법을 시도하다가, 결국 union-find로 해결했다 2. 풀이 코드 🖥python 코드 링크: https://github.com/mintropy/baekjoon_py/blob.. 2022. 2. 21.
[Python] 백준 16562 친구비 문제 링크 : https://www.acmicpc.net/problem/16562 16562번: 친구비 첫 줄에 학생 수 N (1 ≤ N ≤ 10,000)과 친구관계 수 M (0 ≤ M ≤ 10,000), 가지고 있는 돈 k (1 ≤ k ≤ 10,000,000)가 주어진다. 두번째 줄에 N개의 각각의 학생이 원하는 친구비 Ai가 주어진다. ( www.acmicpc.net 1. 접근 방법 union-find로 친구들을 묶으면 된다고 생각했고, 나름 쉽게 잘 풀렸던 것 같다 2. 풀이 코드 🖥python 코드 링크: https://github.com/mintropy/baekjoon_py/blob/master/16000/16562.py GitHub - mintropy/baekjoon_py: BOJ를 Pytho.. 2022. 2. 20.
[Python] 백준 18809 Gaaaaaaaaaarden 문제 링크 : https://www.acmicpc.net/problem/18809 18809번: Gaaaaaaaaaarden 첫째 줄에 정원의 행의 개수와 열의 개수를 나타내는 N(2 ≤ N ≤ 50)과 M(2 ≤ M ≤ 50), 그리고 초록색 배양액의 개수 G(1 ≤ G ≤ 5)와 빨간색 배양액의 개수 R(1 ≤ R ≤ 5)이 한 칸의 빈칸을 사이에 두 www.acmicpc.net 1. 접근 방법 좀 귀찮은 구현 문제라고 생각했는데, 구현보다는 브르투포스+BFS의 느낌이 컸다. 조합은 itertools로 간단하게 구현했는데, 세부 구현에서 고민을 했다. 2. 풀이 코드 🖥python 코드 링크 : https://github.com/mintropy/baekjoon_py/blob/master/18000/1.. 2022. 2. 2.
[Python] 백준 2173 양파깡 만들기 문제 링크 : https://www.acmicpc.net/problem/2173 2173번: 양파깡 만들기 (주) 넝심에서는 양파링의 아성에 도전할 만한 아이디어 과자인 양파깡을 만들어냈다. 양파깡은 기존의 양파링과는 달리 직사각형의 모양을 갖는 과자이다. 그런데 (주) 넝심의 과자 기술은 그 www.acmicpc.net 1. 접근 방법 브루트 포스 하게 접근해야 했다. 모든 가능한 경우를 각 순간마다 따져봐야 하기에, 가능한 모든 모양일 미리 저장해 두고, 불가능한 경우는 쳐내는 방식으로 진행했다. 2. 풀이 코드 🖥python 코드 링크 : https://github.com/mintropy/baekjoon_py/blob/master/2000/2100/2173.py GitHub - mintropy/ba.. 2022. 1. 13.
[Python] 백준 2671 잠수함식별 문제 링크 : https://www.acmicpc.net/problem/2671 2671번: 잠수함식별 입력에 들어있는 스트링을 읽고, 이것이 잠수함의 엔진소리를 나타내는 스트링인지 아니면 그냥 물속의 잡음인지를 판정한 후, 잠수함의 엔진 소리에 해당하는 스트링이면 "SUBMARINE"을 출력하고 www.acmicpc.net 1. 접근 방법 우선 정규 표현식도 잘 알지 못했고, 일반적인 문자열 패턴 찾는 방식으로 우선 접근했다. 이후 re 라이브러리를 활용한 정규식 패턴 매칭방식과 문자열 패턴을 확인하여 정답을 구하는 방법 모두 사용해보았다. 2. 풀이 코드 🖥python 코드 링크: https://github.com/mintropy/baekjoon_py/blob/master/2000/2600/2671... 2021. 12. 17.
[Python] 백준 5557 1학년 문제 링크 : https://github.com/mintropy/baekjoon_py/blob/master/5000/5557.py GitHub - mintropy/baekjoon_py Contribute to mintropy/baekjoon_py development by creating an account on GitHub. github.com 1. 접근 방법 처음에 문제를 잘못 읽어 해결법을 잘 접근하진 못했다. 문제를 몇차례 읽고, 잘 이해하고는 생각보다 쉬운 DP로 해결했다. 2. 풀이 코드 🖥python 코드 링크: https://github.com/mintropy/baekjoon_py/blob/master/5000/5557.py GitHub - mintropy/baekjoon_py Contri.. 2021. 12. 13.
[Python] 백준 1092 배 문제 링크 : https://www.acmicpc.net/problem/1092 1092번: 배 첫째 줄에 N이 주어진다. N은 50보다 작거나 같은 자연수이다. 둘째 줄에는 각 크레인의 무게 제한이 주어진다. 이 값은 1,000,000보다 작거나 같다. 셋째 줄에는 박스의 수 M이 주어진다. M은 10,000보 www.acmicpc.net 1. 접근 방법 전형적인 그리디 문제 중 하나라고 생각한다. 해결 방법은 다양하게 고민하기는 했지만, 잘 떠오르지 않아 브루트 포스로 해결했다. 2. 풀이 코드 🖥python 코드 링크: https://github.com/mintropy/baekjoon_py/blob/master/1000/1000/1092.py GitHub - mintropy/baekjoon_py C.. 2021. 12. 13.