Programming
-
BOJ #2606 - 바이러스Programming/Baekjoon Online Judge 2020. 3. 5. 19:39
https://www.acmicpc.net/problem/2606 문제 신종 바이러스인 웜 바이러스는 네트워크를 통해 전파된다. 한 컴퓨터가 웜 바이러스에 걸리면 그 컴퓨터와 네트워크 상에서 연결되어 있는 모든 컴퓨터는 웜 바이러스에 걸리게 된다. 예를 들어 7대의 컴퓨터가 과 같이 네트워크 상에서 연결되어 있다고 하자. 1번 컴퓨터가 웜 바이러스에 걸리면 웜 바이러스는 2번과 5번 컴퓨터를 거쳐 3번과 6번 컴퓨터까지 전파되어 2, 3, 5, 6 네 대의 컴퓨터는 웜 바이러스에 걸리게 된다. 하지만 4번과 7번 컴퓨터는 1번 컴퓨터와 네트워크상에서 연결되어 있지 않기 때문에 영향을 받지 않는다. 어느 날 1번 컴퓨터가 웜 바이러스에 걸렸다. 컴퓨터의 수와 네트워크 상에서 서로 연결되어 있는 정보가 주어..
-
BOJ #1149 - RGB거리Programming/Baekjoon Online Judge 2020. 1. 24. 15:06
https://www.acmicpc.net/problem/11491149번: RGB거리RGB거리에 사는 사람들은 집을 빨강, 초록, 파랑중에 하나로 칠하려고 한다. 또한, 그들은 모든 이웃은 같은 색으로 칠할 수 없다는 규칙도 정했다. 집 i의 이웃은 집 i-1과 집 i+1이고, 첫 집과 마지막 집은 이웃이 아니다. 각 집을 빨강으로 칠할 때 드는 비용, 초록으로 칠할 때 드는 비용, 파랑으로 드는 비용이 주어질 때, 모든 집을 칠하는 비용의 최솟값을 구하는 프로그램을 작성하시오.www.acmicpc.net 문제RGB거리에 사는 사람들은 집을 빨강, 초록, 파랑중에 하나로 칠하려고 한다. 또한, 그들은 모든 이웃은 같은 색으로 칠할 수 없다는 규칙도 정했다. 집 i의 이웃은 집 i-1과 집 i+1이고, ..
-
파이썬 공부 #2 - Selenium으로 유튜브에서 멜론 Top100 재생Programming/Python 2020. 1. 23. 21:00
유튜브는 역시 좋은것이여 우리는 보통 음악을 들을 때 스트리밍을 많이 사용합니다. 좋은 스트리밍 사이트는 많이 있죠. 멜론, 지니, 벅스 등등.. 근데 상당히 많은 분들이 "노래를 듣는 용도"로 유튜브를 사용합니다. 프리미엄을 사용하는 분들도 있고, 유튜브 뮤직을 사용하는 분들도 있죠. 근데 대다수는 유튜브를 사용하는 이유가 '돈' 때문이 아닐까 생각해봅니다. 난 노래만 가끔 듣는데 월 만원에 육박하는 돈을 쓰기엔 좀 그렇다 이거죠. 그래서 유튜브엔 노래만 나오는 영상이 굉장히 많습니다. 그중에 가장 많은 비율을 차지하는 게 아무래도 0월 0일 멜론 Top 100 자동재생 같은 영상이죠. 예전의 경우 이런 영상이 저작권 침해인 경우도 있었지만, 요즘은 이런 영상의 수익이 모두 저작권자에게 돌아가게 되어서..
-
파이썬 공부 #1 - 크롤링으로 멜론 실시간 Top100 긁어오기Programming/Python 2020. 1. 22. 20:16
시작하기에 앞서... 천리길도 한걸음부터,,, 크롤링은 멜론차트에서 부터 시작하는것이 국룰. 한번 긁어와봅시다 일단 준비물부터 챙겨야지 크롤링을 하기에 앞서 크롤링을 위한 도구들을 준비해 봅시다. 저의 경우 requests와 Beautifulsoup을 사용했습니다. parser의 경우 파이썬 내장인 html.parser보다 성능이 좋은 lxml을 사용했습니다. 1 2 3 4 5 headers = {'User-Agent': 'Mozilla/5.0 (X11; CrOS i686 2268.111.0) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/20.0.1132.57'} url = "https://www.melon.com/chart/index.htm" res = reques..
-
BOJ #13699Programming/Baekjoon Online Judge 2017. 8. 3. 01:21
문제 다음의 점화식에 의해 정의된 수열 t(n)을 생각하자: t(0)=1t(n)=t(0)*t(n-1)+t(1)*t(n-2)+...+t(n-1)*t(0) 이 정의에 따르면, t(1)=t(0)*t(0)=1t(2)=t(0)*t(1)+t(1)*t(0)=2t(3)=t(0)*t(2)+t(1)*t(1)+t(2)*t(0)=5... 주어진 입력 0 ≤ n ≤ 35에 대하여 t(n)을 출력하는 프로그램을 작성하시오. 풀이 크게 어려운 문제가 아니죠. 문제에서 나온대로 0번째 항을 정의해 준 다음, 점화식에 따라 35번째 항까지 배열을 사용해 채워넣습니다. 그런다음 n을 입력받은 다음 배열의 n번째 인덱스를 출력하면 끝입니다. 이미 만들어진 배열에서 값을 가져오기 때문에 시간복잡도는 O(1) 입니다. 사용한 언어 & 컴파일..