본문 바로가기

전체 글

[python] 백준 1182번 부분수열의 합 https://www.acmicpc.net/problem/1182 1182번: 부분수열의 합 첫째 줄에 정수의 개수를 나타내는 N과 정수 S가 주어진다. (1 ≤ N ≤ 20, |S| ≤ 1,000,000) 둘째 줄에 N개의 정수가 빈 칸을 사이에 두고 주어진다. 주어지는 정수의 절댓값은 100,000을 넘지 않는다. www.acmicpc.net 💻 코드 import sys from itertools import combinations input = sys.stdin.readline n, s = map(int, input().split()) number = list(map(int, input().split())) count = 0 for i in range(1, n + 1): result = list(c.. 더보기
BFS/DFS 알고리즘 개념 정리 DFS (Depth-First Search) 깊이 우선 탐색 : 깊은 부분을 우선적으로 탐색하는 알고리즘 스택 자료구조 또는 재귀 함수 이용 1. 탐색 시작 노드를 스택에 삽입하고 방문 처리 2. 인접 노드 스택에 넣고 방문 처리 2-1) 스택의 최상단 노드에 방문하지 않은 인접한 노드가 하나라도 있으면 그 노드를 스택에 넣고 방문 처리 2-2) 방문하지 않은 인접 노드가 없으면 스택에서 최상단 노드 꺼내기 3. 더 이상 2번의 과정을 수행할 수 없을 때까지 반복 BFS (Breadth-First Search) 너비 우선 탐색 : 가까운 노드부터 우선적으로 탐색하는 알고리즘 큐 자료구조 이용 1. 탐색 시작 노드를 큐에 삽입하고 방문 처리 2. 큐에서 노드를 꺼낸 뒤에 해당 노드의 인접 노드 중에서 방문.. 더보기
[python] 백준 14501번 퇴사 https://www.acmicpc.net/problem/14501 14501번: 퇴사 첫째 줄에 백준이가 얻을 수 있는 최대 이익을 출력한다. www.acmicpc.net 💻 코드 import sys input = sys.stdin.readline n = int(input()) t_list = [] p_list = [] dp = [0] * (n + 1) for _ in range(n): t, p = map(int, input().split()) t_list.append(t) p_list.append(p) for i in range(n - 1, - 1, -1): if t_list[i] + i > n: dp[i] = dp[i + 1] else: dp[i] = max(p_list[i] + dp[i + t_l.. 더보기
[python] 백준 10973번 이전 순열 https://www.acmicpc.net/problem/10973 10973번: 이전 순열 첫째 줄에 입력으로 주어진 순열의 이전에 오는 순열을 출력한다. 만약, 사전순으로 가장 처음에 오는 순열인 경우에는 -1을 출력한다. www.acmicpc.net 💻 코드 n = int(input()) array = list(map(int, input().split())) for i in range(n - 1, 0, -1): if array[i - 1] > array[i]: for j in range(n - 1, 0, -1): if array[i - 1] > array[j]: array[i - 1], array[j] = array[j], array[i - 1] array = array[:i] + list(reve.. 더보기
[조코딩 웹 개발 5주 완성] 3주차 정리 - API * 조코딩 웹 개발 5주 완성 강의를 듣고 개인 복습을 위해 정리한 글입니다. https://www.youtube.com/watch?v=n9BBDb4I4Vs API Application Programming Interface 앱이 프로그래밍 언어로 상호작용할 때의 규칙 Open API 하나의 웹 사이트에서 자신이 가진 기능을 이용할 수 있도록 공개한 API API 가이드 1. 요청 (request) 주소: https://dapi.kakao.com/v3/search/book전송 방식: GET보낼 것query 검색어(필수) sort 정렬 방식(선택) target 검색 대상(선택) * GET와 POST의 차이점 GET : 검색어를 주소창에 넣어서 보내는 것POST : 안 보이는 곳에 넣어서 보내는 것 2. 응.. 더보기
[조코딩 웹 개발 5주 완성] 3주차 정리 - 웹 조작, 이벤트 * 조코딩 웹 개발 5주 완성 강의를 듣고 개인 복습을 위해 정리한 글입니다. https://www.youtube.com/watch?v=n9BBDb4I4Vs JavaScript를 이용한 웹 조작 BOM(Browser Object Model) : 브라우저 조작 DOM(Document Object Model) : HTML/CSS 조작 + python으로도 웹 조작할 수 있음(아직 베타 버전) https://pyscript.net/ Pyscript.net Run Python code in your HTML. pyscript.net BOM(Browser Object Model) 브라우저에 있는 기능들을 JavaScript 코드를 이용해서 실행할 수 있음 DOM (Document Object Model) docu.. 더보기
[조코딩 웹 개발 5주 완성] 3주차 정리 - JavaScript * 조코딩 웹 개발 5주 완성 강의를 듣고 개인 복습을 위해 정리한 글입니다. https://www.youtube.com/watch?v=n9BBDb4I4Vs 변수 정의 값을 담는 상자 변수 만드는 법 var 변수명 let 변수명 const 변수명 함수 ex) f(x) = 2x + 3 정의 function myFunction(x) { let temp = 2 * x + 3; return temp; } 실행 myFunction(1) ex) f(x, y) = x + y 정의 function add(x, y) { let temp = x + y; return temp; } 실행 add(1, 2) 함수를 정의하는 또 다른 방법 조건문 if(money > 5000) { rideTaxi(); } else if (mone.. 더보기
[조코딩 웹 개발 5주 완성] 2주차 정리 - SEO 최적화 * 조코딩 웹 개발 5주 완성 강의를 듣고 개인 복습을 위해 정리한 글입니다. https://www.youtube.com/watch?v=lkh_S7TJNGw&t=8431s SEO (Search Engine Optimization) 검색 엔진 최적화 SEO가 잘 되어있을수록 검색을 했을 때 상위에 있게 된다. ◇ SEO 가이드 Google https://developers.google.com/search/docs/beginner/seo-starter-guide?hl=ko Naver https://searchadvisor.naver.com/guide/seo-basic-intro SEO의 요소 외부 - 역링크(다른 사이트에서 언급한 것), 방문자 수, 기간 등 내부 - 시멘틱 마크업(의미가 분명한 태그), 메.. 더보기