본문 바로가기

프로그래밍6

함수형 프로그래밍 함수형 프로그래밍 자료처리를 수학적 함수의 계산으로 취급하고 상태와 가변 데이터를 멀리하는 프로그래밍 패러다임 함수형 프로그래밍의 특징 순수함수 동일한 입력에는 항상 같은 값을 반환해야 하는 함수 함수의 실행이 프로그램의 실행에 영향을 미치지 않아야 하는 함수 함수 내부에서 인자의 값을 변경하거나 프로그램 상태를 변경하는 Side Effect가 없는 것 비상태, 불변성 함수형 프로그래밍에서의 데이터는 변하지 않는 불변성을 유지해야 한다. 데이터의 변경이 필요한 경우, 원본 데이터 구조를 변경하지 않고 그 데이터의 복사본을 만들어서 그 일부를 변경하고, 변경한 복사본을 사용해 작업을 진행한다. 선언형 함수 명령형 프로그래밍은 무엇을 어떻게 할 것인가에 주목하고, 선언형 프로그래밍은 무엇을 할 것인가에 주목.. 2023. 7. 10.
1/29 WIL 1. 알고리즘 관련 공부 이번 주는 공부했던 알고리즘 지식을 정리하려 한다. 냅색 알고리즘 (Knapsack Algorithm) 유명한 다이나믹 프로그래밍 문제 혹은 그리디 알고리즘 문제 중 하나이다. 두 가지 유형으로 나뉜다. Fractional Knapsack Algorithm: 주어진 자원을 쪼갤 수 있다는 가정 하에 그리디 알고리즘으로 최적의 조건이 구해진다. 주어진 조건(ex: 가격, 무게) 중 가장 크거나 작은 것부터 대입하여 최적 방식을 구한다.(그리디 알고리즘) 0 - 1 Knapsack Algorithm: 주어진 자원이 0 또는 1, 즉 존재하거나 존재하지 않는, 쪼갤 수 없는 상태면 DP를 사용해야한다. 보통 후자의 문제가 자주 나온다. 그래서 쪼갤 수 없는 보석이 나오면 제로원, 디피.. 2023. 1. 31.
12/20 GDSC 백엔드 스터디 정리 목차 1. 백엔드 과제 요구사항 이번 주는 백엔드 스터디에서 과제를 주었다. 가상의 기획자가 존재한다는 가정하에 기능 요구 사항이 주어지고 이에 따른 데이터베이스 구성과 엔티티 형성을 생각해보자 백엔드 과제 요구 사항 기능 요구 사항 주어진 주제 -> 페이스북 유저 유저는 회원가입, 로그인을 통해 가입할 수 있습니다. (필요한 값: email, nickname) (도전) 회원가입과 로그인 시 JWT와 Session 중 하나를 선택할 수 있습니다. 글 유저는 게시글을 올릴 수 있습니다. (필요한 값: 게시글 제목, 내용) 유저는 게시글을 수정할 수 있습니다. 유저는 게시글을 삭제할 수 있습니다. 유저 모든 유저는 모든 게시글에 좋아요를 남길 수 있습니다. 모든 유저는 게시들에 남긴 좋아요를 취소할 수 있습.. 2022. 12. 25.
11/27 WIL 1. 알고리즘 관련 공부 이번 주는 공부했던 알고리즘 지식을 정리하려 한다. 예제) 조합 구하기(DFS) 1부터N까지번호가적힌구슬이있습니다.이중 M개를뽑는방법의수를출력하는프로그 램을 작성하세요. ▣ 입력설명 첫 번째 줄에 자연수 N(3 2022. 11. 27.