본문 바로가기

프로그래밍/Python13

[AI 부트캠프] DAY 42 - 코딩 테스트 3 [오늘의 일지] 코딩 테스트 - 동적 계획법 (DP), 힙, 다익스트라 공부하기 [상세 내용] 코딩 테스트 사전 지식 동적 계획법 (Dynamic Programming; DP) - 동적 계획법(Dynamic Programming; DP)은 컴퓨터 과학과 수학에서 최적화 문제 및 결정 문제를 해결하기 위한 강력한 알고리즘 기법 중 하나입니다. 주로 반복되는 부분 문제(subproblem)를 효율적으로 해결하고, 그 결과를 저장하여 중복 계산을 방지하는 방법으로 사용됩니다. 동적 계획법은 다양한 문제에 적용됩니다. 일반적으로 최적화 문제를 해결하는 데 사용되며, 예로는 피보나치수열 계산, 최장 공통부분 문자열 찾기, 배낭 문제, 그래프 경로 문제 등이 있습니다. DP는 반복되는 계산을 줄이고, 최적화된 해결.. 2023. 9. 14.
[AI 부트캠프] DAY 41 - 코딩 테스트 2 [오늘의 일지] 코딩 테스트 - 해시테이블, 재귀, 트리, 그래프 공부하기 [상세 내용] 코딩 테스트 사전 지식 해시테이블 - 해시 테이블(Hash Table), 또는 해시 맵(Hash Map)은 데이터를 효율적으로 저장하고 검색하기 위한 자료구조 중 하나입니다. 해시 테이블은 키(key)와 값(value)의 쌍을 저장하는 데 사용되며, 키를 사용하여 값을 빠르게 검색할 수 있습니다. 해시 테이블은 데이터를 빠르게 검색하고 삽입하는 데 뛰어난 자료구조이며, 많은 프로그래밍 언어와 라이브러리에서 제공됩니다. 재귀 - 재귀(Recursion)란, 어떤 문제를 해결하는 과정에서 그 문제 자체를 해결하기 위해 동일한 방법이나 함수를 반복적으로 호출하는 프로그래밍 기법입니다. 이러한 재귀 호출은 보통 문제를 더 .. 2023. 9. 13.
[AI 부트캠프] DAY 40 - 코딩 테스트 1 [오늘의 일지] 코딩 테스트 - 시간 복잡도, 리스트, 큐&스택 공부하기 [상세 내용] 코딩 테스트 사전 지식 - 우선 코딩 테스트라는 것이 단어적으로 봤을 때는 일반적으로 프로그래밍 언어 코딩 공부한 것을 연습하기 위해서 하는 것이 맞기는 하나 실제로 이루어지는 테스트는 조금 다르게 느껴졌습니다. 그냥 무작정 코드를 짜서 원하는 결과를 얻는 것에서 끝나는 것이 아니라 좀 더 시간복잡도 측면에서 실용적이고 남들이 보기에도 이해하기 쉽게 코드를 짜는 것이 중요한 결과를 찾는 것이라고 생각합니다. 그럼 여기서 말하는 시간 복잡도에 대해서 설명하겠습니다. 시간복잡도 - 시간 복잡도는 컴퓨터 분야에서 알고리즘의 수행 시간이 입력 크기에 대한 함수로서 표현된 것입니다. 다시 말해, 알고리즘의 수행 시간이 입력 크.. 2023. 9. 12.
[AI 부트캠프] DAY 15 - 파이썬 9 [오늘의 일지] 파이썬 응용하기 - 크롤링, 다양한 API 활용 [상세 내용] 파이썬 응용하기 크롤링 - 네이버 크롤링해 보기 - 원하는 페이지 파악하기 - url 파악하기 https://news.naver.com/main/list.naver?mode=LSD&mid=sec&sid1=105&date=20230803 예를 들면 위에 같이 it/과학의 최신 뉴스들을 모아둔 페이지가 있다고 합니다. 페이지의 맨 아래쪽으로 내려가서 날짜와 페이지를 몇 번 눌러보면 url이 특정 구조를 가지고 있다는 것을 알 수 있습니다. https://news.naver.com/main/list.naver?mode=LSD&mid=sec&sid1=105&date=20230803 위에 주소처럼 날짜와 페이지를 변경만 하면 그날의 뉴.. 2023. 8. 5.
반응형