본문 바로가기

전체 글

(172)
Lec04. Lexical Analysis (3) (2주차 2강, 4주차 1강/2강) (전공/프로그래밍 언어 및 컴파일러) 2024. 10. 20. 16:14 수업: 9월 11일 2주차 2강 + 9월 23일 4주차 1강 + 9월 25일 4주차 2강 (3주차 1강, 2강은 추석으로 휴강)* 본 자료는 제 개인 공부용으로 정리한 것입니다. 정확한 자료는 꼭 본인이 공부하는 교재를 참고하시길 바랍니다. 9월 11일 2주차 2강1. Construction of DFAMethodology: lexical specification을 동일한 string recognizer로 변환한다Regular Expression, 정규 표현식: 특정 패턴의 문자열을 정의Lexical Specification: 특정 언어에서 허용되는 문자 패턴을 정의String Recognizer: 입력된 문자열이 주어진 규칙(RE)과 일치하는지 판별DFA: state와 transition을 사용해 문자..
Lec03. Lexical Analysis(2) (2주차 1강) (전공/프로그래밍 언어 및 컴파일러) 2024. 9. 25. 23:37 2주차 1강 - 9월 9일 월요일, Lexical Analysis 1. String Recognition using Finite AutomataFinite Automata정의: yes or no를 return하는 string recognizer이 string에 accept 가능한가? 아닌가?를 판별한다.종류Non-deterministic Finite Automata(NFA)Deterministic Finite Automata(DFA) 2. Possibility of Correct String Recognition문자열 s, 패턴 R문자열 s가 어떤 Finite Automata에 속하는지 확인하고 싶다.즉, s가 L(R)에 존재하는지 확인하고자 한다.패턴 R을 인식하는 Finite Automata를 찾고,..
[완전탐색-1주][백준] 1254 - 팰린드롬 만들기[실2] (개발자 강화/코딩 테스트) 2024. 9. 10. 15:18 문제동호와 규완이는 212호에서 문자열에 대해 공부하고 있다. 규완이는 팰린드롬을 엄청나게 좋아한다. 팰린드롬이란 앞에서부터 읽으나 뒤에서부터 읽으나 같게 읽히는 문자열을 말한다.동호는 규완이를 위한 깜짝 선물을 준비했다. 동호는 규완이가 적어놓고 간 문자열 S에 0개 이상의 문자를 문자열 뒤에 추가해서 팰린드롬을 만들려고 한다. 동호는 가능하면 가장 짧은 문자열을 만들려고 한다.동호가 만들 수 있는 가장 짧은 팰린드롬의 길이를 출력하는 프로그램을 작성하시오.입력첫째 줄에 문자열 S가 주어진다. S는 알파벳 소문자로만 이루어져 있고, 길이는 최대 50이다.출력첫째 줄에 동호가 만들 수 있는 가장 짧은 팰린드롬의 길이를 출력한다. --------- 1차 시도 시작: 24.09.10 13:50중간에 딴짓 많..