
문제 www.acmicpc.net/problem/1654 1654번: 랜선 자르기 첫째 줄에는 오영식이 이미 가지고 있는 랜선의 개수 K, 그리고 필요한 랜선의 개수 N이 입력된다. K는 1이상 10,000이하의 정수이고, N은 1이상 1,000,000이하의 정수이다. 그리고 항상 K ≦ N 이다. 그 www.acmicpc.net 문제 상황 - 입력받은 개수 N만큼 자른 랜선을 만들어야 할 때, 최대의 길이로 랜선을 자를 때 그 최대 길이를 계산한다. 해결 전략 - 방법은 두가지로 나눌 수 있다. 1) 길이를 정해 개수를 계산 2) 개수를 정해 길이를 계산 2번의 경우 개수가 정확히 N개일 때면 가능하지만 N보다 크거나 같다는 상황이므로 2번보단 1번의 방법이 유리하다. 길이의 경우 단순히 완전탐색하는 ..

문제 www.acmicpc.net/problem/2178 2178번: 미로 탐색 첫째 줄에 두 정수 N, M(2 ≤ N, M ≤ 100)이 주어진다. 다음 N개의 줄에는 M개의 정수로 미로가 주어진다. 각각의 수들은 붙어서 입력으로 주어진다. www.acmicpc.net 문제 상황 - 시작점에서 끝점까지의 길이 항상 존재할 때 가장 최단으로 갈 수 있는 거리의 길이를 찾는다. 해결 전략 - 최단거리이므로 BFS를 활용하여 deque를 이용한다. 코드 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 from sys import stdin from collections import deque input = stdin.readline N, M = map(int, input()...

문제 www.acmicpc.net/problem/7576 7576번: 토마토 첫 줄에는 상자의 크기를 나타내는 두 정수 M,N이 주어진다. M은 상자의 가로 칸의 수, N은 상자의 세로 칸의 수를 나타낸다. 단, 2 ≤ M,N ≤ 1,000 이다. 둘째 줄부터는 하나의 상자에 저장된 토마토� www.acmicpc.net 문제 상황 - 토마토가 다 익는데 걸리는 최소 시간을 출력하고, 불가능하다면 -1을 출력한다. 해결 전략 - 우선 0의 개수를 계산하여 전부 익었는지 확인하는데 사용한다. 그리고 같은 시간에 익는 토마토의 위치들을 새로운 큐에 넣어 작업을 반복한다. 코드 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 ..

문제 www.acmicpc.net/problem/4963 4963번: 섬의 개수 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스의 첫째 줄에는 지도의 너비 w와 높이 h가 주어진다. w와 h는 50보다 작거나 같은 양의 정수이다. 둘째 줄부터 h개 줄에는 지도� www.acmicpc.net 문제 상황 - 이동할 수 있는 블록의 집합을 하나의 섬으로 보고, 섬의 총 개수를 구한다. 해결 전략 - 간단한 dfs 문제이다. 순회하며 visited를 갱신하며 개수를 찾는다. 코드 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 from sys import stdin,setrecursionlimit setrecur..

문제 www.acmicpc.net/problem/9466 9466번: 텀 프로젝트 이번 가을학기에 '문제 해결' 강의를 신청한 학생들은 텀 프로젝트를 수행해야 한다. 프로젝트 팀원 수에는 제한이 없다. 심지어 모든 학생들이 동일한 팀의 팀원인 경우와 같이 한 팀만 있을 www.acmicpc.net 문제 상황 - 주어진 리스트의 부분 사이클을 구해 팀을 구성하고, 팀이 없는 학생 수를 구한다. 해결 전략 - 재귀보다는 반복을 통해 구한다. 내 방법으로는 조건을 통해 사이클이 되는지 안되는지를 확인하는 알고리즘을 사용하여 만약 부분적으로 사이클을 이룬다면 그 부분만 사이클이 된다고 표시하고 넘어가는 방식을 택한 후 사이클에 포함 안되는 요소의 개수를 찾았다. 하지만 이 방식으로는 속도 이슈가 발생하였다. -..

문제 www.acmicpc.net/problem/2331 2331번: 반복수열 첫째 줄에 반복되는 부분을 제외했을 때, 수열에 남게 되는 수들의 개수를 출력한다. www.acmicpc.net 문제 상황 - 반복적인 연산을 통해 수열을 만들고 겹치는 부분이 발생했을 때 겹치지 않는 부분의 길이를 구하는 문제 해결 전략 - 연산을 반복하면서 조건을 설정해 해당 조건이 아니면 수열에 추가하고, 맞으면 반복을 탈출하며 그 반복 요소의 위치를 찾는다. 코드 1 2 3 4 5 6 7 8 9 10 11 12 13 14 from sys import stdin input = stdin.readline A, P = input().split() D = [A] while True: A = D[-1] total = 0 for ..
문제 www.acmicpc.net/problem/10451 10451번: 순열 사이클 1부터 N까지 정수 N개로 이루어진 순열을 나타내는 방법은 여러 가지가 있다. 예를 들어, 8개의 수로 이루어진 순열 (3, 2, 7, 8, 1, 4, 5, 6)을 배열을 이용해 표현하면 \(\begin{pmatrix} 1 & 2 &3&4&5&6&7&8 \\ 3 www.acmicpc.net 문제 상황 - 주어진 순열이 몇개의 사이클을 이루고 있는지 개수를 구하는 문제이다. 해결 전략 - dfs를 통해 visited를 갱신하며 새로운 visited를 찾을 때 cnt를 갱신해준다. 코드 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 from sys import stdin, setrecursion..

WSGI (web server gateway interface) - 웹서버(nginx, apache)와 django framework를 연결하는 역할을 한다. - 웹서버 vs 웹 어플리케이션 서버 참고 : logical-code.tistory.com/30 웹 서버와 웹 어플리케이션 서버의 차이 웹 서버(WS)와 웹 어플리케이션 서버(WAS)의 차이 웹 서버(Web Server) 웹 브라우저와 같은 클라이언트로부터 HTTP 요청을 받아들이고, HTML 문서와 같은 웹 페이지를 정적으로 처리해 반환하는 프로그�� logical-code.tistory.com URL RESOLUTION - urls.py에서 request된 url을 역할에 맞게 잘게 나누어주는데 이 작업을 parsing 이라고 한다.
- Total
- Today
- Yesterday
- 리모컨#완전탐색#BOJ#Python
- API#lazy#
- 공유기 설치#BOJ#이분탐색#Python
- 섬의개수#백준알고리즘#Python
- Triangle#Sorting#Codility#Python
- N으로 표현#DP#Programmers#Python
- django#slicing
- filter#isalnum#lower
- PassingCars#Codility#Python
- 배열합치기#분할정복#BOJ#Python
- 날짜 계산#BOJ#완전탐색#Python
- NumberofDiscIntersections#Codility#Sort#Python
- 랜선자르기#이분탐색#BOJ#Python
- 미로 탐색#백준알고리즘#Python
- 백준 알고리즘#BackTracking
- 병든 나이트#BOJ#탐욕법#Python
- Distinct#Codility#Python
- 종이자르기#분할정복#BOJ#Python
- django
- 순열사이클#BOJ#Python
- 터틀비치#리콘#xbox#controller
- 텀 프로젝트#백준알고리즘#Python
- Swift#Tuples#Range
- 토마토#백준알고리즘#Python
- 파이썬알고리즘인터뷰#4장
- 반복수열#백준알고리즘#Python
- 암호코드#dp#BOJ#Python
- 나무자르기#BOJ#이분탐색#Python
- Brackets#Stacks and Queues#Codility#Python
- 쿼드트리#BOJ#분할정복#Python
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |