컴퓨터공학 (5) 썸네일형 리스트형 백준 3300번 - 무어기계 파이썬(pypy3) 풀이 문제 무어 기계는 상태에 의해서 출력이 결정되는 유한 상태 기계이다. 무어 기계는 이름은 미국의 수학자이자 컴퓨터 과학자 Edward F. Moore의 이름을 따서 지었다. 무어 기계의 상태 전이는 입력에 의해서 정해진다. 예를 들어, 입력이 "aabba"이면, 아래와 같은 무어 기계의 출력은 "PRETTY"가 된다. 위의 그림에서 동그라미는 상태를 나타내고, 화살표 위의 글자는 입력 심볼을 나타낸다. 상태 중 하나는 시작 상태로 디자인 되어져 있다. 이 상태는 출발 노드가 없는 화살표로 나타나 있다. 이 경우에 시작 상태는 1번 상태이다. 상태 N과 출력 심볼 S는 N/S로 나타낸다. 대부분 경우에 무어 기계는 사이클을 가진다. 이 문제에서는 사이클이 전혀 없는 무어 기계를 다루며, 이런 종류의 기계를.. [C#] 람다식 람다식이란 람다식은 익명함수(anonymous function)을 생성하기 위한 식으로 객체 지향 언어보단 함수 지향 언어에 가까운 프로그래밍 기법이다. 함수형 프로그래밍은 병렬처리와 이벤트 지향 프로그래밍에 적합하며, 주로 고차 함수에 인자로 전달되거나 고차 함수가 돌려주는 결과값으로 쓰인다. C#에서는 LINQ에 응용하기 위해서도 사용된다. 장점 - 코드의 간결성 : 불필요한 루프문의 삭제 가능, 동일한 함수 재사용 가능 - 필요한 정보만을 사용하는 방식을 통한 퍼포먼스 향상 람다식의 기본 매개변수 => 식 좌측에 있는 매개변수들을 우측의 식에 대입하는 형식 C# 컴파일러에서는 매개변수의 형식을 유추하는 '형식 유추'기능을 사용함으로 매개변수의 형식을 생략함으로써 코드를 더 간결하게 작.. [독학사/프로그래밍언어론] 1 - 가 : 프로그래밍 언어의 소개 1.프로그래밍 언어론을 배우는 이유 ㄱ.생각을 표현할 수 있는 능력 향상 -'개념적'의 반대말은 물리적 '개념적'은 머리속으로 생각, '물리적'은 실제로 구현하는것 개념적인 것을 물리적인것으로 매핑하는 과정을 알고리즘이라고 한다. 문제를 논리적으로 분석해 알고리즘으로 표현하고, 이를 프로그래밍 언어로 문제를 해결하게 되면, 생각을 표현할 수 있는 능력이 향상된다고 할 수 있다. ㄴ.적합한 언어를 선택할 수 있는 배경 향상 -프로젝트에 적합한 언어를 선택 가능해진다. ㄷ.새로운 언어의 습득 능력 향상 -언어의 기본적 개념을 습득하게 되고, 새로운 언어의 습득 필요성을 알게된다. -언어는 시간이 지남에 따라 발전하거나 쇠퇴하게 되어 한 언어를 영원히 사용할 수 없다. -상황에 따라 필요한 프로그래밍 언어가 .. [독학사/컴퓨터의이해]요점정리 ~8강 1.소프트웨어의 개요 - 컴퓨터 시스템은 크게 하드웨어와 소프트웨어로 구분됨 - 소프트웨어는 시스템 소프트웨어와 응용 소프트웨어로 구분됨 - 시스템 소프트웨어 : 컴퓨터 하드웨어 구성요소를 부드럽게 작동하도록 설계된 프로그램 - 응용 소프트웨어 : 개인이나 조직의 일에 대한 컴퓨터 활용수단 2.시스템 소프트웨어 - 하드웨어와 응용 프로그램 간의 매개체 - 컴퓨터 시스템을 효율적으로 운영해주는 기능을 갖춘 프로그램의 집단 1) 운영체제 - 가장 기본이 되는 컴퓨터 프로그램 - 컴퓨터를 작동시켜 중앙처리장치, 주기억장치, 키보드 등 하드웨어 시스템을 인식 - 응용 프로그램을 실행시키고 통신할 수 있는 기반 제공 - 운영체제의 4가지 중요한 작업 ㄱ. 사용자가 컴퓨터와 대화할 수 있도록 인터페이스 제공.. [독학사/컴퓨터의이해]요점정리 ~ 3장 이 글은 독학사 컴퓨터의 이해(전산개론) 출제범위를 보고 제가 직접 정리한 글입니다. 1.컴퓨터산업의 발전단계 - 1세대 (1950~57) : 진공관 시대 o ENIAC(1946) : 세계 최초의 전자식 계산기(진공관) o EDSAC(1949) : 프로그램 내장 방식을 처음으로 구현한 기계(최초의 2진수) o UNIVAC(1950) : 세계 최초의 상업용 컴퓨터 o EDVAC(1951) : 프로그램 내장 방식과 2진법을 채택한 컴퓨터 - 2세대 (1958~63) : 트랜지스터 시대 o 트랜지스터 사용 -> 기억의 고속화와 안정화, 고급 연산 o 프로그래밍 언어의 개발. COBOL, FORTRAN등 고급 언어가 개발됨 o 응용 프로그램의 개발 o on-line으로 실시간처리가 가능해짐 o 다중 .. 이전 1 다음