다이나믹 프로그래밍(Dynamic Programming) 큰 문제를 작은 문제로 쪼개어 해결하는 알고리즘 기법입니다. 이 기법은 작은 문제의 결과를 저장하고, 이를 이용해 큰 문제를 해결합니다. 이를 메모이제이션(Memoization)이라고도 부르며, 일반적으로 재귀적인 방법으로 구현됩니다. 다이나믹 프로그래밍은 최적화 문제를 해결하는데 효과적입니다. 예를 들어, 주어진 자원을 최대한으로 활용하여 최대 이익을 얻는 문제, 두 문자열 사이의 최장 공통 부분 문자열을 찾는 문제, 최소 비용으로 목표 지점에 도달하는 경로를 찾는 문제 등에 이용됩니다. 대표적인 다이나믹 프로그래밍 알고리즘 피보나치 수열 계산 LCS(Longest Common Subsequence) 문제 다이나믹 프로그래밍으로 풀 수 있는 문제..
Test Driven Development 소프트웨어 개발 방법론 중 하나입니다. 개발자가 실제 코드를 작성하기 전에 자동화된 테스트를 작성하는 방식입니다. 테스트 코드를 먼저 작성하고, 작성한 테스트코드에 맞는 소프트웨어 코드를 짜는 방식을 반복하면서 새로운 기능을 추가하거나 기존 코드를 개선합니다. TDD를 하는 이유는 코드를 철저하게 테스트하고 고품질의 코드를 유지하는 것입니다. 개발자가 먼저 테스트를 작성함으로써 개발 프로세스 초기에 문제를 식별하고 해결할 수 있으며, 새로운 기능을 추가하거나 기존 코드를 변경함에 따라 코드베이스가 안정적인 상태를 유지할 수 있도록 합니다. 장점 코드 품질 향상: TDD를 적용하면 개발자는 코드를 작성하기 전에 미리 테스트를 작성하므로 코드 품질이 향상됩니다. 개..
EP39. 인공지능, 머신러닝, 딥러닝, 아직도 구분하기 힘들다고? 사람처럼 행동하는 인공지능(일반 인공지능) 현실에는 아직 없는 인공지능 한가지만 잘하는 인공지능(좁은 인공지능) 딥러닝이나 머신러닝으로 만드는 인공지능 머신러닝 인공지능을 학습시키는 법 지도학습 라벨을 토대로 기계에게 어떤 물체를 가르친다. 사과의 모습을 글로 가르쳐주고 사과를 찾으라고 한다. 비지도 학습 라벨 없이 계속해서 사과를 보여주면서 사과를 알아보게 만든다. 딥러닝 머신러닝의 하위 개념 엄청나게 많은 층으로 구성되어 있는 머신러닝의 한 종류 EP40. REST API라니, 휴식 API인가? 이게 대체 뭐죠? Representational State Transfer API 직접 사용해 보았고 장점밖에 없는 방법이다. 통신을 할 때..
EP30. 코로나가 준 레거시 시스템의 교훈 자신이 만든 프로그램을 책임 있게 만들어야한다는 교훈. 완벽한 프로그램은 없으니 끊임없이 관리해야한다. EP31. 데이터와 단짝 친구, SQL Structured Query Language 구조화된 질문 언어 SQL은 데이터베이스와 대화를 하는 것이 아닌 데이터베이스를 관리해주는 DBMS와 이야기를 하는 것이다. DBMS의 종류는 다양한데 대표적인 것은 mysql, postgresql, sqlite, oracle, mariadb 등이 있다. SQL을 프로그래밍 언어로 쓸 수 있게 해주는 ORM 보안 면에서도 raw 쿼리문보다 좋다고 들었고, 간단하다. 하지만, raw쿼리문이 필요할 때가 있다고하니 공부를 게을리 하면 안되겠죠? EP32. NoSQL이 뭐죠? N..
https://school.programmers.co.kr/learn/courses/30/lessons/160586 문제 설명 휴대폰의 자판은 컴퓨터 키보드 자판과는 다르게 하나의 키에 여러 개의 문자가 할당될 수 있습니다. 키 하나에 여러 문자가 할당된 경우, 동일한 키를 연속해서 빠르게 누르면 할당된 순서대로 문자가 바뀝니다. 예를 들어, 1번 키에 "A", "B", "C" 순서대로 문자가 할당되어 있다면 1번 키를 한 번 누르면 "A", 두 번 누르면 "B", 세 번 누르면 "C"가 되는 식입니다. 같은 규칙을 적용해 아무렇게나 만든 휴대폰 자판이 있습니다. 이 휴대폰 자판은 키의 개수가 1개부터 최대 100개까지 있을 수 있으며, 특정 키를 눌렀을 때 입력되는 문자들도 무작위로 배열되어 있습니다...
Ep26. 정렬 알고리즘이 뭐죠? https://github.com/hosose/Algorithms 제가 열심히 정리한 것이 있습니다. 물론 참고한 것이 엄청 많지만요 ㅎㅎ 책에 나온 알고리즘 말고도 다른 것도 있어요. Ep27. 스택, 큐가 뭐죠? 큐 놀이기구 타거나 어디에 입장할 때 길게 줄을 서지요? 처음 줄은 선 순서대로 입장하는데 그게 바로 큐 입니다. 쇼핑몰 주문 처리 시스템 스택 스택은 나중에 쌓은 것을 먼저 먹는 시스템 입니다. 나중에 들어간 것부터 처리하는 방법 https://pabeba.tistory.com/78 이 문제로 스택을 이해하면 좋습니다. 웹 브라우저 뒤로가기 버튼, 되돌리기 버튼 Ep28. 해시 테이블이 뭐죠? 어떻게 하면 프로그램의 속도를 더 빠르게 만들 수 있을까 men..