본문 바로가기

전체 글

(172)
[프로그래머스] 구명보트-Greedy (개발자 강화/코딩 테스트) 2024. 10. 23. 21:44 프로그래머스 고득점키트 Greedy lv1 구명보트 구명보트는 2명씩만 탈 수 있고, limit을 넘어서는 안됨처음에는 그냥 sort한 배열을 이용해서 마지막에서 2개씩 끊어서 쓰려고 했음마지막에서 2개 끊어서 limit보다 작으면 둘 다 보내고, limit보다 크면 1명 보내고근데 테케, 효율성 50%만 통과함이건 투포인터라는 기법을 써야 됨. 두 개의 값을 저장해서 계속 업데이트가장 작은 값+가장 큰 값을 매칭해서 태워보내는 방식left=0(가장 작은 값), right = len(people)-1 (가장 큰 값)left만약 가장 작은 값+가장 큰 값이 limit 이하이면 태울 수 있음그럼 작은 값을 1 증가시킴만약 태울 수 없으면 if문 밖으로 빠져 나오는데, 무거운 사람만 태워보냄(작은값 그대로)누..
Lec05. Syntax Analysis (1) - 6주차 1강 (전공/프로그래밍 언어 및 컴파일러) 2024. 10. 23. 15:18 10월 7일 6주차 1강* 개인 공부용으로 정리한 것입니다. 정확한 내용은 본인의 교재를 꼭 확인하시기 바랍니다. 1. Roadmap for Building a ParserParser는 Token Stream을 입력받아 Syntax Analyzer로 Syntax Tree를 출력한다Specification: 문법을 어떻게 표현할 것인가? (1+3)은 올바르지만 (1+3는 오류를 발생한다문법을 정의하기 위해 CFG를 사용한다Parsing: 구문 분석: 주어진 토큰 시퀀스 s에서 s∈L(CFG)인지 확인하고, Syntax tree 생성하는 법Top-down, Bottom-up 구문 분석 알고리즘 사용2. Context-Free GrammerV: 유한한 variable의 집합. non terminal symbo..
Lec-OCaml. Functional Programming in OCaml (4주차 2강, 5주차 1/2강) (전공/프로그래밍 언어 및 컴파일러) 2024. 10. 23. 14:17 9월 25일 4주차 2강 + 9월 30일 5주차 1강 + 10월 2일 5주차 2강 * 본 글은 개인 공부용으로 정리한 것 입니다. 정확한 내용은 본인이 공부하는 자료를 참고하시길 바랍니다!! OCaml이 진짜 문대...그게문데문대...나는 high level만 먹는다고... 1. Introduction1.1. Functional Programming?함수: first-class변수에 저장된다다른 함수의 인자로 전달될 수 있다다른 함수의 반환값으로 사용할 수 있다expression-oriented: 계산 과정이 값을 변형하지 않고 표현식으로 기술된다...(아래 참고)imperative version: 명령형 방식, int factorial(int n)에서 r을 계속 갱신하면서 계산functional ver..