이번엔 파이썬 크롤러 라이브러리를 사용하여 학교 공지 사항 크롤링을 진행 해보려고 한다. https://www.crummy.com/software/BeautifulSoup/bs4/doc/ Beautiful Soup Documentation — Beautiful Soup 4.9.0 documentation Non-pretty printing If you just want a string, with no fancy formatting, you can call str() on a BeautifulSoup object, or on a Tag within it: str(soup) # ' I linked to example.com ' str(soup.a) # ' I linked to example.com ' The..
한창 JS를 하다가 Python에 이번엔 제대로 입문 해보려고 토이 프로젝트를 만들려고 생각했다. 고민 고민 하다보니, 내가 카카오톡 다음으로 많이 사용하는 채팅 프로그램인 Discord 봇 개발 관련으로 다시 한번 도전 해 볼까 하여 블로그에 정리 하면서 개발을 시작 해보려고 한다. Python으로 개발을 진행 하기 위해선 discord.py 라이브러리를 사용하여 개발 하여야 한다. Python 언어나, 다른 개발 언어를 접해보고 진행 하는 것을 추천한다. 무턱대고 개발 해보기엔 난이도가 생각보다 좀 있다. https://codingapple.com/course/python-basic/ 빠르게 정리하는 파이썬 기초 문법 - 코딩애플 온라인 강좌 (파이썬 웹크롤러/업무자동화 강의 + 딥러닝 AI 강의 패..
https://www.acmicpc.net/problem/1049 1049번: 기타줄 첫째 줄에 N과 M이 주어진다. N은 100보다 작거나 같은 자연수이고, M은 50보다 작거나 같은 자연수이다. 둘째 줄부터 M개의 줄에는 각 브랜드의 패키지 가격과 낱개의 가격이 공백으로 구분하여 주 www.acmicpc.net 사용언어 : node.js 알고리즘 : 수학, 그리디 알고리즘 Solved.ac Tier : SILVER IV node.js 코드 1. 문제 정리 N개의 기타 줄이 끊어졌다. 그래서 기타 줄을 새로 사야하는데.. 강토씨는 최대한 싸게 기타줄을 교체 하려고한다. 6줄 패키지도 있고 1줄짜리 단품도 있다더라. 뭐 그리디로 계산 해봐야지 탐욕적인 시키; 먼저 입력들을 받아 온 뒤 6줄짜리 패키지중에..
https://www.acmicpc.net/problem/1026 1026번: 보물 첫째 줄에 N이 주어진다. 둘째 줄에는 A에 있는 N개의 수가 순서대로 주어지고, 셋째 줄에는 B에 있는 수가 순서대로 주어진다. N은 50보다 작거나 같은 자연수이고, A와 B의 각 원소는 100보다 작거 www.acmicpc.net 사용언어 : node.js 알고리즘 : 수학, 그리디 알고리즘, 정렬 Solved.ac Tier : SILVER IV node.js 코드 1. 문제 정리 국왕 김지민씨가 문제를 냈다고 한다. 길이가 N인 정수 배열 A와 B가 있다. 함수 S는 S = A[0] × B[0] + ... + A[N-1] × B[N-1]라고 한다. S의 값을 가장 적게 만들어 달라고 부탁한다. (A를 재배열 함으로..
https://www.acmicpc.net/problem/1439 1439번: 뒤집기 다솜이는 0과 1로만 이루어진 문자열 S를 가지고 있다. 다솜이는 이 문자열 S에 있는 모든 숫자를 전부 같게 만들려고 한다. 다솜이가 할 수 있는 행동은 S에서 연속된 하나 이상의 숫자를 잡고 모 www.acmicpc.net 사용언어 : node.js 알고리즘 : 문자열, 그리디 알고리즘 Solved.ac Tier : Silver V node.js 코드 1. 문제 정리 0과 1로 이루어진 문자열울 준다. 다솜씨가 이 문자열을 한 ㅅ수자로 만들려고 한다. Ex) S= 0001100일때 0000000로 만드는데 단 한번이면 된다. 예시처럼 setNumber로 answer_cnt1은 0으로 바꿀때 총 몇 번 바꿔야 하나 쳐..
https://www.acmicpc.net/problem/10610 10610번: 30 어느 날, 미르코는 우연히 길거리에서 양수 N을 보았다. 미르코는 30이란 수를 존경하기 때문에, 그는 길거리에서 찾은 수에 포함된 숫자들을 섞어 30의 배수가 되는 가장 큰 수를 만들고 싶어한 www.acmicpc.net 사용언어 : node.js 알고리즘 : 수학, 문자열, 그리디 알고리즘, 정렬, 정수론 Solved.ac Tier : Bronze III node.js 코드 1. 문제 정리 미르코라는 친구가 30이라는 수를 좋아해서 입력 받은 값들을 섞어서 30의 배수가 되는 가장 큰 수를 찾으려고 한다. 첫 접근을 0이 포함되지 않으면 30의 배수가 될 수 없기 때문에 0이 들어가있다면 '-1'로 리턴 해주었다...
https://www.acmicpc.net/problem/1789 1789번: 수들의 합 첫째 줄에 자연수 S(1 ≤ S ≤ 4,294,967,295)가 주어진다. www.acmicpc.net 사용언어 : node.js 알고리즘 : 수학, 그리디 알고리즘 Solved.ac Tier : Silver V node.js 코드 1. 문제 정리 서로 다른 N개의 자연수의 합이 S라고 한다. S를 입력으로 줄때 N의 최대 값은 얼마일까? for문으로 1씩 증가하여 더해지는 등차수열을 사용하여, 입력 받은 input 값보다 더한 sum 값이 더 커졌을때 break 해주는 식으로 해결하였다. 2. 완성 코드 const fs = require('fs'); let input = fs.readFileSync("/dev/st..
https://www.acmicpc.net/problem/5585 5585번: 거스름돈 타로는 자주 JOI잡화점에서 물건을 산다. JOI잡화점에는 잔돈으로 500엔, 100엔, 50엔, 10엔, 5엔, 1엔이 충분히 있고, 언제나 거스름돈 개수가 가장 적게 잔돈을 준다. 타로가 JOI잡화점에서 물건을 사 www.acmicpc.net 사용언어 : node.js 알고리즘 : 그리디 알고리즘 Solved.ac Tier : Bronze II node.js 코드 1. 문제 정리 알고리즘을 다시 시작하며, 그리디 알고리즘부터 천천히 풀어나가보기로 했다. 그리디의 기본인 거스름 돈 문제부터 보자. JOI잡화점엔 잔돈으로 500원,100원,10원,5원,1원이 있다고 한다. 언제나 거스름돈을 적게 주는 알고리즘을 짜라는..