본문 바로가기

전체 글

(60)
[프로그래밍 언어 구조론]제6장 구문 제6장 구문 요기 PL의 진리표 구문 기술 방법 및 제반에 대한 이해 어휘 구조 구문 구조: BNF, EBNF, 구문 다이어그램 구문 분석 트리, 구문 트리 및 모호성 구문 분석 기술 및 도구 어휘 대 구문 대 의미론 구문과 의미 생김새: syntax: context-free grammer(중요) 기술방법: bnf, extended bnf, syntax diagram 처리방법(parser):top-down, bottom-up 의미-semetics(이 정도 있다만 알고 넘어가셈) Static semantics: Attribute grammar Dynamic semantics :-operational-aximomatic -denotational 개요 형식 언어 계층(Chomsky) - 컨텍스트프리만 알고가라..
[프로그래밍 언어 구조론]제 2장. 언어 설계 원칙 제2장. 언어 설계 원칙 학습목표 좋은 언어를 이해하기 위한 기본 원칙에 대해 알아본다 PL 디자인 기준의 역사 효율성과 규칙성 보안 및 확장성 사례 연구: C++/파이썬 좋은 언어란? 언어설계(언어디자인) 좋은 언어의 바람직한 속성은 무엇입니까? 인생사 새옹지마~~ 파스칼 성공, Modula-2 실패 Algol60 성공, Algol68 실패 FORTRAN 성공, PL/I 실패 성공언어의 사연들 화용: 번역가의 가용성, 가격, 품질 킬러 애플리케이션: Unix for C, Internet for Java, … 디자인 컨셉의 통일성(필요조건) 배경 다음 기준 중 하나라도 충족하면 언어가 성공한 것으로 정의됩니다. 그것은 디자이너의 목표를 달성합니다 응용 분야에서 널리 사용됩니다. 성공적인 다른 언어의 모델..
[프로그래밍 언어 구조론]제 1장. 서론 §학습목표 프로그래밍언어의 간단한 역사, 추상화, 패러다임, 언어정의 및 번역에 대한 날카로운 시각 함양 PL과 관련된 여러 가지 배경지식에 대해서 정리해 봅시다 PL 왜 공부하나? 우리는 왜 프로그래밍 언어를 공부하는가? 우리가 의사 소통하는 방식은 우리가 생각하는 방식에 영향을 미칩니다 우리가 컴퓨터를 프로그래밍하는 방법은 계산에 대해 생각하는 방법에 영향을 미칩니다 PL의 기본 원리와 개념은 컴퓨터 과학 지식의 기본 체계의 일부입니다. 이러한 원리에 대한 연구는 프로그래머와 컴퓨터 과학자에게 필수적입니다. PL의 역사 프로그래밍 언어: "우리가 원하는 것을 컴퓨터와 통신하기 위한 표기법"으로 정의 1940년대 중반 이전에 컴퓨터 운영자는 요청된 작업을 수행하기 위해 컴퓨터의 내부 배선을 조정하기 위..
[백준] 4153번 :직각삼각형 - Python 파이썬 [백준] 4153번 :직각삼각형 - Python 파이썬 알고리즘 분류: 수학 기하학 링크: https://www.acmicpc.net/problem/4153 4153번: 직각삼각형 입력은 여러개의 테스트케이스로 주어지며 마지막줄에는 0 0 0이 입력된다. 각 테스트케이스는 모두 30,000보다 작은 양의 정수로 주어지며, 각 입력은 변의 길이를 의미한다. www.acmicpc.net 문제 문제 과거 이집트인들은 각 변들의 길이가 3, 4, 5인 삼각형이 직각 삼각형인것을 알아냈다. 주어진 세변의 길이로 삼각형이 직각인지 아닌지 구분하시오. 입력 입력은 여러개의 테스트케이스로 주어지며 마지막줄에는 0 0 0이 입력된다. 각 테스트케이스는 모두 30,000보다 작은 양의 정수로 주어지며, 각 입력은 변의 길..
[코드잇][알고리즘의 정석]토픽 3: Brute Force-06. 강남역 폭우 [코드잇][알고리즘의 정석]토픽 3: Brute Force-06. 강남역 폭우 링크: https://www.codeit.kr/learn/courses/algorithms/1141 코딩이 처음이라면, 코드잇 월 3만원대로 Python, JavaScript, HTML/CSS, Java 등 1,600개 이상 프로그래밍 강의를 무제한 수강하세요 www.codeit.kr:443 문제 강남역에 엄청난 폭우가 쏟아진다고 가정합시다. 정말 재난 영화에서나 나올 법한 양의 비가 내려서, 고층 건물이 비에 잠길 정도입니다. 그렇게 되었을 때, 건물과 건물 사이에 얼마큼의 빗물이 담길 수 있는지 알고 싶은데요. 그것을 계산해 주는 함수 trapping_rain을 작성해 보려고 합니다. 함수 trapping_rain은 건물 ..
[코드잇][알고리즘의 정석]토픽 3: Brute Force-05. 가까운 매장 찾기 [코드잇][알고리즘의 정석]토픽 3: Brute Force-05. 가까운 매장 찾기 링크: https://www.codeit.kr/learn/courses/algorithms/1219 코딩이 처음이라면, 코드잇 월 3만원대로 Python, JavaScript, HTML/CSS, Java 등 1,600개 이상 프로그래밍 강의를 무제한 수강하세요 www.codeit.kr:443 문제 스다벅스는 줄어든 매출 때문에 지점 하나를 닫아야 하는 위기에 처해 있습니다. 어떤 지점을 닫는 게 회사에 타격이 적을지 고민이 되는데요. 서로 가까이 붙어 있는 매장이 있으면, 그 중 하나는 없어져도 괜찮지 않을까 싶습니다. 사장님은 비서 태호에게, 직선 거리가 가장 가까운 두 매장을 찾아서 보고하라는 임무를 주셨습니다. 함수..
[코드잇][알고리즘의 정석]토픽 3: Brute Force-03. 카드 뭉치 최대 조합 [코드잇][알고리즘의 정석]토픽 3: Brute Force-03. 카드 뭉치 최대 조합 링크: https://www.codeit.kr/learn/courses/algorithms/1137 코딩이 처음이라면, 코드잇 월 3만원대로 Python, JavaScript, HTML/CSS, Java 등 1,600개 이상 프로그래밍 강의를 무제한 수강하세요 www.codeit.kr:443 문제 영상에서 보았던 문제를 코드로 풀어봅시다! 카드 두 뭉치가 있습니다. 왼쪽 뭉치에서 카드를 하나 뽑고 오른쪽 뭉치에서 카드를 하나 뽑아서, 두 수의 곱이 가장 크게 만들고 싶은데요. 어떻게 하면 가장 큰 곱을 구할 수 있을까요? 함수 max_product는 리스트 left_cards와 리스트 right_cards를 파라미터로..
[코드잇][알고리즘의 정석]토픽 2: 재귀 함수 연습-06. 하노이의 탑 [코드잇][알고리즘의 정석]토픽 n: ##-0n. ## 링크: https://www.codeit.kr/learn/courses/algorithms/1134 코딩이 처음이라면, 코드잇 월 3만원대로 Python, JavaScript, HTML/CSS, Java 등 1,600개 이상 프로그래밍 강의를 무제한 수강하세요 www.codeit.kr:443 문제 하노이의 탑 하노이의 탑 게임 아시나요? 이 게임의 목표는 왼쪽 기둥에 있는 원판들을 모두 오른쪽 기둥으로 옮기는 것입니다. 지켜야할 규칙은 두가지입니다: 한 번에 하나의 원판만 옮길 수 있다. 큰 원판이 작은 원판 위에 있어서는 안 된다. (출저: 위키피디아) 과제 하노이의 탑 게임의 해답을 출력해주는 함수 hanoi를 쓰세요. hanoi는 파라미터로 원..