파이썬
-
문제 분류 : 완전탐색 Lv.2 생각 종이에 몇개 그려보면서 점화식을 세워보았다. yellow = (width -2) * (height - 2) brown = (width * height) - yellow 이걸 통해서 딱 떨어지는 어떤 식을 도출해 내지는 못했다. 그래서 width와 height에 값을 계속 바꾸어 대입해보면서 위 식에 부합하는지 확인하는 방법으로 코드를 짰다. 이때 범위가 중요하다고 생각하는데, 문제에서 보면 yellow의 최대 범위는 2,000,000이고, brown은 5,000이다. 가장 width가 길어질때는 height이 3칸이면서 동시에 brown의 최댓값일때일 것이다. 대략적으로 계산해보자면, brown은 맨 위, 맨 아래 두줄로 이루어져있다. 그러므로 나누기 2를 해주면 최..
[프로그래머스] (Python) - 카펫문제 분류 : 완전탐색 Lv.2 생각 종이에 몇개 그려보면서 점화식을 세워보았다. yellow = (width -2) * (height - 2) brown = (width * height) - yellow 이걸 통해서 딱 떨어지는 어떤 식을 도출해 내지는 못했다. 그래서 width와 height에 값을 계속 바꾸어 대입해보면서 위 식에 부합하는지 확인하는 방법으로 코드를 짰다. 이때 범위가 중요하다고 생각하는데, 문제에서 보면 yellow의 최대 범위는 2,000,000이고, brown은 5,000이다. 가장 width가 길어질때는 height이 3칸이면서 동시에 brown의 최댓값일때일 것이다. 대략적으로 계산해보자면, brown은 맨 위, 맨 아래 두줄로 이루어져있다. 그러므로 나누기 2를 해주면 최..
2021.06.12 -
문제 링크 : www.acmicpc.net/problem/2581 2581번: 소수 M이상 N이하의 자연수 중 소수인 것을 모두 찾아 첫째 줄에 그 합을, 둘째 줄에 그 중 최솟값을 출력한다. 단, M이상 N이하의 자연수 중 소수가 없을 경우는 첫째 줄에 -1을 출력한다. www.acmicpc.net 소수와 관련된 문제는 왠만하면 전부 에라토스테네스를 사용하는게 편한것 같다. 일단, 테스트케이스에서 주어진 범위만큼 에라토스테네스의 체를 사용하여 소수를 구해놓는다. 그리고 문제의 조건에 맞 게 출력해주면 끝. infinitt.tistory.com/232 알고리즘 (1) - 수학 : 유클리드 호제법 , 에라토스테네스의 체 (나머지 연산, 최대 공약수, 최소�� 수학과 관련한 기초문제에는 크게 3가지 분류로 ..
백준 (boj) 파이썬 - 2581번 : 소수문제 링크 : www.acmicpc.net/problem/2581 2581번: 소수 M이상 N이하의 자연수 중 소수인 것을 모두 찾아 첫째 줄에 그 합을, 둘째 줄에 그 중 최솟값을 출력한다. 단, M이상 N이하의 자연수 중 소수가 없을 경우는 첫째 줄에 -1을 출력한다. www.acmicpc.net 소수와 관련된 문제는 왠만하면 전부 에라토스테네스를 사용하는게 편한것 같다. 일단, 테스트케이스에서 주어진 범위만큼 에라토스테네스의 체를 사용하여 소수를 구해놓는다. 그리고 문제의 조건에 맞 게 출력해주면 끝. infinitt.tistory.com/232 알고리즘 (1) - 수학 : 유클리드 호제법 , 에라토스테네스의 체 (나머지 연산, 최대 공약수, 최소�� 수학과 관련한 기초문제에는 크게 3가지 분류로 ..
2020.09.18 -
* 크롤링 (crawling) 조직적, 자동화된 방법을 통하여 웹을 탐색하는 컴퓨터 프로그램을 크롤러(crawler)라고 한다. 따라서 크롤링은 , 크롤러가 특정 규칙을 가지고 여러 사이트의 페이지를 탐색하며 수집하고 분류하는것을 말한다. 크롤링도 스크래핑의 일종이다(스크래핑이 더 큰범위를 포함하는 의미) * 스크래핑 (scraping) 웹으로 특정짓지 않으며, 모든 소스로부터 필요한 데이터를 가져오고, 원하는 형태로 가공하는 것을 말한다. 따라서 크롤링과 비슷한 의미이며 구분하기 어렵지만 스크래핑이 더 큰 범위를 가지며, 크롤링도 스크래핑에 포함되는 단어라고 한다. * 크롤링시에 주의할 것 서버(server)의 정책이 허용하는 범위 내에서만 이루어져야 한다. ( 크롤링시에 서버에 발생되는 부하 라던가(..
크롤링 , 스크랩핑 이란 ? ( robots.txt 의 뜻)* 크롤링 (crawling) 조직적, 자동화된 방법을 통하여 웹을 탐색하는 컴퓨터 프로그램을 크롤러(crawler)라고 한다. 따라서 크롤링은 , 크롤러가 특정 규칙을 가지고 여러 사이트의 페이지를 탐색하며 수집하고 분류하는것을 말한다. 크롤링도 스크래핑의 일종이다(스크래핑이 더 큰범위를 포함하는 의미) * 스크래핑 (scraping) 웹으로 특정짓지 않으며, 모든 소스로부터 필요한 데이터를 가져오고, 원하는 형태로 가공하는 것을 말한다. 따라서 크롤링과 비슷한 의미이며 구분하기 어렵지만 스크래핑이 더 큰 범위를 가지며, 크롤링도 스크래핑에 포함되는 단어라고 한다. * 크롤링시에 주의할 것 서버(server)의 정책이 허용하는 범위 내에서만 이루어져야 한다. ( 크롤링시에 서버에 발생되는 부하 라던가(..
2020.05.26 -
문제 링크 : https://www.acmicpc.net/problem/18511 18511번: 큰 수 구성하기 첫째 줄에 N, K의 원소의 개수가 공백을 기준으로 구분되어 자연수로 주어진다. (10 ≤ N ≤ 100,000,000, 1 ≤ K의 원소의 개수 ≤ 3) 둘째 줄에 K의 원소들이 공백을 기준으로 구분되어 주어진다. 각 원소는 1부터 9까지의 자연수다. 단, 항상 K의 원소로만 구성된 N보다 작거나 같은 자연수를 만들 수 있는 경우만 입력으로 주어진다. www.acmicpc.net * 생각 최대 8자리수에 3가지 요소가 들어갈 수 있다. - 순열이지만 중복이 허용된다. 따라서 itertools-product를 사용했다. 주의할점 : 만약 N = 1938이고 배열은 {8,9,7}이라고 하면 출력..
백준 (boj) Python - 18511 번 : 큰 수 구성하기문제 링크 : https://www.acmicpc.net/problem/18511 18511번: 큰 수 구성하기 첫째 줄에 N, K의 원소의 개수가 공백을 기준으로 구분되어 자연수로 주어진다. (10 ≤ N ≤ 100,000,000, 1 ≤ K의 원소의 개수 ≤ 3) 둘째 줄에 K의 원소들이 공백을 기준으로 구분되어 주어진다. 각 원소는 1부터 9까지의 자연수다. 단, 항상 K의 원소로만 구성된 N보다 작거나 같은 자연수를 만들 수 있는 경우만 입력으로 주어진다. www.acmicpc.net * 생각 최대 8자리수에 3가지 요소가 들어갈 수 있다. - 순열이지만 중복이 허용된다. 따라서 itertools-product를 사용했다. 주의할점 : 만약 N = 1938이고 배열은 {8,9,7}이라고 하면 출력..
2020.05.09 -
문제링크 : https://www.acmicpc.net/problem/11866 11866번: 요세푸스 문제 0 첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 1,000) www.acmicpc.net 예전에 풀었던 요세푸스와 같은내용이었다. 다른점은 시간제한뿐..? 분명 풀었던 문제인데 처음 풀듯이 다시풀게되었다........... 기억력 참 https://infinitt.tistory.com/213 백준 (boj) 파이썬 - 1158 요세푸스 문제 문제 링크 : https://www.acmicpc.net/problem/1158 1158번: 요세푸스 문제 첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 5,000) www.acm..
백준(boj) 파이썬 - 11866 번 : 요세푸스 문제 0문제링크 : https://www.acmicpc.net/problem/11866 11866번: 요세푸스 문제 0 첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 1,000) www.acmicpc.net 예전에 풀었던 요세푸스와 같은내용이었다. 다른점은 시간제한뿐..? 분명 풀었던 문제인데 처음 풀듯이 다시풀게되었다........... 기억력 참 https://infinitt.tistory.com/213 백준 (boj) 파이썬 - 1158 요세푸스 문제 문제 링크 : https://www.acmicpc.net/problem/1158 1158번: 요세푸스 문제 첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 5,000) www.acm..
2020.05.03 -
문제 링크 : https://www.acmicpc.net/problem/16194 16194번: 카드 구매하기 2 첫째 줄에 민규가 구매하려고 하는 카드의 개수 N이 주어진다. (1 ≤ N ≤ 1,000) 둘째 줄에는 Pi가 P1부터 PN까지 순서대로 주어진다. (1 ≤ Pi ≤ 10,000) www.acmicpc.net 문제 분류 : 다이나믹 프로그래밍 https://infinitt.tistory.com/246 알고리즘 - 다이나믹 프로그래밍 (Dynamic Programming) 다이나믹 프로그래밍 (Dynamic Programming) : DP 개념 : 문제를 더 작은 단위로 쪼개어 해결하는 알고리즘. (분할 정복 알고리즘과 비슷하다. 차이점은 바로 아랫줄.) 핵심은, 그 작은 단위의 문제들이 반복..
백준 (boj) 파이썬 - 16194번 : 카드 구매하기 2 (DP)문제 링크 : https://www.acmicpc.net/problem/16194 16194번: 카드 구매하기 2 첫째 줄에 민규가 구매하려고 하는 카드의 개수 N이 주어진다. (1 ≤ N ≤ 1,000) 둘째 줄에는 Pi가 P1부터 PN까지 순서대로 주어진다. (1 ≤ Pi ≤ 10,000) www.acmicpc.net 문제 분류 : 다이나믹 프로그래밍 https://infinitt.tistory.com/246 알고리즘 - 다이나믹 프로그래밍 (Dynamic Programming) 다이나믹 프로그래밍 (Dynamic Programming) : DP 개념 : 문제를 더 작은 단위로 쪼개어 해결하는 알고리즘. (분할 정복 알고리즘과 비슷하다. 차이점은 바로 아랫줄.) 핵심은, 그 작은 단위의 문제들이 반복..
2020.04.24