본문 바로가기

전체 글120

Part4 - chapter03 : 객체지향 기술 [ 객체지향 기술의 개념 ] □ 객체지향 기술의 장단점 ○ 장점 - 객체를 이용해 쉽게 프로그래밍이 가능 - 규모가 큰 대형 프로그램 개발에 적합 - 객체를 만들어 복사할 수 있어 프로그램을 신속하게 개발할 수 있음 - 확장성과 유지보수성이 향상 - 실세계 접근이 가능한 프로그램을 개발할 수 있음 ○ 단점 - 객체를 이용하여 쉽게 프로그래밍이 가능하지만 설계가 어려움 - 객체의 규모가 커서 실행 속도가 느림 □ 객체지향 기술의 구성 요소 ○ 클래스 - 데이터 추상화 단위로 객체 타입을 정의하고 객체를 생성하는 틀 - 문제 해결을 위한 같은 종류의 집단에 속하는 속성과 행위를 정의한 것 - 기존 언어에서 지원하던 사용자 정의 자료형 및 서브 프로그램을 발전시켜 추상화 자료형 제공 - 객체 지향 프로그램의 .. 2022. 2. 14.
Part4 - chapter02 : 프로그래밍 언어 활용 [ 알고리즘과 코딩 ] □ 알고리즘 ○ 알고리즘이 갖추어야 할 조건 - 입력 : 외부에서 입력되는 자료가 0개 이상 존재 - 출력 : 출력이 적어도 1개 이상 결과가 있음 - 명확성(Definiteness) : 명령어들은 명확하고 모호하지 않아야 함 - 유한성(Finiteness) : 알고리즘의 명령어들은 유한 번의 수행 후 종료되어야 함 => 프로그램과 구별되는 조건 - 유효성(Effectiveness) : 모든 명령들은 명백하고 실행 가능한 연산들 ○ 알고리즘을 분석하는 판단 기준 - 정확성(Correctness) : 알고리즘이 정확한지 검사하여 입력에 따른 정확한 출력이 되는지 - 간결성(Simplicity) : 표현이 간단하고 이해하기 쉽고 읽기 쉬운가 - 작업량(Amount of Work Don.. 2022. 2. 14.
Part4 - chapter01 : 프로그래밍 언어 기초 [ 프로그램 언어와 번역 ] □ 저급 언어와 고급 언어 ○ 저급 언어 - 기계 중심의 언어로 상이한 기계에서 기종에 맞게 수정해야 실행할 수 있음 - 기계간 차이가 있어 호환성이 낮음 - 기계어, 어셈블리어 등이 있음 ○ 고급 언어 - 사람 중심의 언어로 개발자가 원시 프로그램을 작성할 때 쉽게 이해할 수 있도록 작성된 언어 - 상이한 기계에서 별도의 수정이 필요없어 호환성이 높음 - C, C++, Java, COBOl, FORTRAN 등이 있음 - 기계어로 컴파일러/인터프리터와 같이 번역이 필요함 ○ 기계어 - 0과 1만을 사용하여 명령어와 데이터를 나타내고 컴퓨터가 이해할 수 있어 실행 속도가 빠름 - 호환성이 없고 기계마다 언어가 달라 프로그램 작성이 어려움 - 기계어는 언어 번역기를 이용하는 언어.. 2022. 2. 13.
백준 19637번 : IF문 좀 대신 써줘 링크 : https://www.acmicpc.net/problem/19637 19637번: IF문 좀 대신 써줘 첫 번째 줄에는 칭호의 개수 N (1 ≤ N ≤ 105)과 칭호를 출력해야 하는 캐릭터들의 개수 M (1 ≤ M ≤ 105)이 빈칸을 사이에 두고 주어진다. (1 ≤ N, M ≤ 105) 두 번째 줄부터 N개의 줄에 각 칭 www.acmicpc.net import sys input = sys.stdin.readline from bisect import bisect_left N, M = map(int, input().split()) name = [] attack = [] for i in range(N): n, a = input().split() name.append(n) attack.append.. 2022. 2. 12.