알고리즘

[알고리즘 기초] 복잡도

[1] 시간 복잡도 일반적으로 코딩 테스트 환경에서는 O(n^3)을 넘어가면 문제풀이에서 사용하기 어려움. CPU 기반의 개인 컴퓨터나 채점용 컴퓨터에서는 연산 횟수가 10억을 넘어가면 1초 이상의 시간이 소요. N의 크기가 5,000이 넘는다면 족히 10초 이상의 시간이 걸리고 파이썬은 더욱 오래 걸림. 보통 코테의 시간 제한은 1~5초 가량. 따라서 연산횟수가 10억을 넘어가면 오답 판정을 받을 수 있음. N이 1000일 때 연산 횟수 O(N) 1,000 O(NlogN) 10,000 O(N^2) 1,000,000 O(N^3) 1,000,000,000 O(NlogN)인 알고리즘은 시간복잡도가 동일하더라도 내부 로직 및 차수가 낮은 항의 영향에 따라 10,000번에서 100,000번까지 실제 연산의 횟수..

2021.05.25 게시됨

취준 과정

2021 LG 온라인 인적성 검사 개요 및 정리 (에듀윌 참고)

적성 검사 구성 [총 60문제, 40분] 언어 이해 [15문항, 10분] 언어 추리 [15문항, 10분] 자료 해석 [15문항, 10분] 창의 수리 [15문항, 10분] 언어 이해 [15문항, 10분] 2020 총평: 지문 자체는 짧고 쉬운 편. 선택지가 헷갈리는 문제가 있음. 사실적 사고/추론적 사고: 주제나 제목 찾기, 문단 구조, 일치/불일치, 추론, 비판 및 평가 등 독해 위주의 문제가 출제. 배경 지식을 활용하지 않고 주어진 글에 근거하여 빠르게 답을 찾는 연습을 해야 함. [1] 사실적 사고: 글의 중심 내용이나 구조를 파악하는 능력. 언어 이해의 절반 이상을 차지하며 난이도가 크게 높지 않음. 주제/제목: 주어진 글의 중심 내용 또는 제목 파악하는 유형. 글의 앞부분 또는 뒷부분을 먼저 읽고..

2021.05.21 게시됨

[정보처리기사 실기] 11장 요약 _ 제품 소프트웨어 패키징 포스팅 썸네일 이미지

2021 정보처리기사/실기 요약

[정보처리기사 실기] 11장 요약 _ 제품 소프트웨어 패키징

[11] 제품 소프트웨어 패키징 11.1 소프트웨어 패키징 소프트웨어 패키징의 개요 - 모듈별로 생성한 실행 파일들을 묶어 배포용 설치 파일을 만드는 것. - 개발자가 아니라 사용자 중심으로 진행함. - 소스 코드는 향후 관리를 고려하여 모듈화하여 패키징함. - 사용자가 소프트웨어를 사용하게 될 환경을 이해하여, 다양한 환경에서 소프트웨어를 손쉽게 사용할 수 있도록 일반적인 배포 형태로 패키징함. - 사용자를 중심으로 진행되는 작업이므로 사용자의 편의성 및 실행 환경을 우선적으로 고려해야 함. 패키징 시 고려사항 - 사용자의 시스템 환경, 즉 운영체제, CPU, 메모리 등에 필요한 최소 환경을 정의함. - UI는 사용자가 눈으로 직접 확인할 수 있도록 시각적인 자료와 함께 제공하고 메뉴얼과 일치시켜 패키..

2021.04.23 게시됨

[정보처리기사 실기] 10장 요약 _ 응용 SW 기초 기술 활용 포스팅 썸네일 이미지

2021 정보처리기사/실기 요약

[정보처리기사 실기] 10장 요약 _ 응용 SW 기초 기술 활용

[10] 응용 SW 기초 기술 활용 10.1 운영체제의 개념 운영체제의 정의 - 운영체제는 컴퓨터 시스템의 자원들을 효율적으로 관리하며, 사용자가 컴퓨터를 편리하고 효과적으로 사용할 수 있도록 환경을 제공하는 여러 프로그램의 모임. - 컴퓨터 사용자와 컴퓨터 하드웨어 간의 인터페이스로서 동작하는 시스템 소프트웨어의 일종 - 다른 응용 프로그램이 유용한 작업을 할 수 있는 환경을 제공해 줌. 운영체제의 목적 - 운영체제의 성능을 평가하는 기준. - 처리 능력: 일정 시간 내에 시스템이 처리하는 일의 양. - 반환 시간: 시스템에 작업을 의뢰한 시간부터 처리가 완료될 때까지 걸린 시간. - 사용 가능도: 시스템을 사용할 필요가 있을 때 즉시 사용 가능한 정도. - 신뢰도: 시스템이 주어진 문제를 정확하게 해..

2021.04.22 게시됨

[정보처리기사 실기] 9장 요약 키워드 정리 _ 소프트웨어 개발 보안 구축 포스팅 썸네일 이미지

2021 정보처리기사/실기 요약

[정보처리기사 실기] 9장 요약 키워드 정리 _ 소프트웨어 개발 보안 구축

[9] 소프트웨어 개발 보안 구축 9.1 소프트웨어 개발 보안 소프트웨어 개발 보안의 개요 - 소프트웨어 개발 과정에서 발생할 수 있는 보안 취약점을 최소화하여 보안 위협으로부터 안전한 소프트웨어를 개발하기 위한 일련의 보안 활동. - 목표: 데이터의 기밀성, 무결성, 가용성을 유지하는 것. - 소프트웨어 보안 취약점이 발생하는 경우 보안 요구사항이 정의되지 않은 경우 소프트웨어 설계시 논리적 오류가 포함된 경우 기술 취약점을 갖고 있는 코딩 규칙을 적용한 경우 소프트웨어 배치가 적절하지 않은 경우 보안 취약점 발견 시 적절하게 대응하지 못한 경우 - 안전한 소프트웨어 개발을 위한 수행 작업 소프트웨어 개발 프로젝트에 참여하는 관련자들의 역할과 책임을 명확히 정의하고 충분한 보안 교육을 실시함. 소프트웨..

2021.04.17 게시됨

[정보처리기사 실기] 8장 요약 키워드 정리 _ SQL 응용 포스팅 썸네일 이미지

2021 정보처리기사/실기 요약

[정보처리기사 실기] 8장 요약 키워드 정리 _ SQL 응용

[8] SQL 응용 8.1 SQL - DDL DDL(데이터 정의어)의 개념 - 데이터 베이스의 구조를 정의 및 변경하는 언어. - DDL은 번역한 결과가 데이터 사전이라는 특별한 파일에 여러 개의 테이블로서 저장됨. - 종류: CREATE, ALTER, DROP CREATE SCHEMA - 스키마를 정의하는 명령문. - 스키마: 데이터베이스의 구조와 제약 조건에 관한 전반적인 명세를 기술한 것으로 데이터 개체, 속성, 관계 및 데이터 조작시 데이터 값들이 갖는 제약 조건 등에 관해 전반적으로 정의 함. - 스키마의 식별을 위해 스키마 이름과 소유권자나 허가권자를 정의함. - 표기 형식 CREATE SCHEMA 스키마명 AUTHORIZATION 사용자_id; CREATE DOMAIN - 도메인을 정의하는 ..

2021.04.16 게시됨

[정보처리기사 실기] 7장 요약 키워드 정리 _ 애플리케이션 테스트 관리 포스팅 썸네일 이미지

2021 정보처리기사/실기 요약

[정보처리기사 실기] 7장 요약 키워드 정리 _ 애플리케이션 테스트 관리

[7] 애플리케이션 테스트 관리 7.1 애플리케이션 테스트 애플리케이션 테스트의 개념 - 애플리케이션에 잠재되어있는 결함을 찾아내는 일련의 행위 또는 절차. - 애플리케이션 테스트는 개발된 소프트웨어가 고객 요구사항을 만족시키는지 확인하고 소프트웨어가 기능을 정확히 수행하는지 검증한다. - 확인(Validation): 사용자의 입장에서 개발한 소프트웨어가 고객의 요구사항에 맞게 구현되었는지 확인하는 것. - 검증(Verification): 개발자의 입장에서 개발한 소프트웨어가 명세서에 맞게 만들어졌는지 점검하는 것. - 애플리케이션 테스트를 실행하기 전에 개발한 소프트웨어의 유형을 분류하고 특성을 정리해서 중점적으로 테스트할 사항을 정리해야 함. 애플리케이션 테스트의 필요성 - 애플리케이션 테스트를 통해..

2021.04.14 게시됨

[자료구조] Binary Search Tree _ 이진 탐색 트리 포스팅 썸네일 이미지

CS/자료구조

[자료구조] Binary Search Tree _ 이진 탐색 트리

Binary Search Tree 1) 데이터 특징: Left Child의 key값은 parent보다 작고, Right Child의 key 값은 parent보다 큼. 2) 형태적 특징: Binary Tree - Inorder Traversal of BST = 오름차순 sort Searching – Recursive ver. Searching – Iterative ver. Searching BST의 시간 복잡도 - Average case: O(h), h=height of tree - Worst case: O(n), n=number of nodes Insertion BST의 시간복잡도 - O(h), h=height of tree Insertion (1) Insertion (2) – Modified Searc..

2021.04.11 게시됨

[컴퓨터 그래픽스] Rasterization 포스팅 썸네일 이미지

CS/컴퓨터 그래픽스

[컴퓨터 그래픽스] Rasterization

각 vertex(양끝점)가 어디에 mapping이 될지만 처리한 상황. Rasterization(레스터화): 양 끝점을 연결하는 선이 지나는 곳 을 연산을 해줘야 함. Rasterization - 한 픽셀이 어떤 primitive (vertex로 부터 정의된)에 해당이 되는지 결정. - Fragment(후보 픽셀: 여러 개중 한 개가 결정)을 만듦. - Interpolation(보관): 양 끝점 내부의 값을 계산하는 것. (Extrapolation: 양 끝점의 바깥쪽을 계산하는 것) Scan Conversion of Line Segments - 일차적으로 어떤 픽셀들이 라인에 해당하는지 찾아야 함 (픽 셀 좌표) - 양 끝의 좌표를 아는 상태(변환 완료): 정수 값으로 저장 되 어 있음 (x1, y1),..

2021.04.11 게시됨

[컴퓨터 그래픽스] 3D Object Modeling 포스팅 썸네일 이미지

CS/컴퓨터 그래픽스

[컴퓨터 그래픽스] 3D Object Modeling

Space Subdivision - 공간을 어떻게 나누어서 사용하고 있는지 - Quadtree: 2차원 공간을 나눔 - Octree: 3차원 공간을 나눔. - 두 방법 다 사각형, 육면체라는 제한적인 공간 안에서 나눔 Quadtree: 2차원 - 어디에 어떤 물체가 있는 지 빠르게 파악하기 위해 Cell을 나눔. - 언제까지? 한 cell 안에 하나의 물체가 올 때까지. - 구현하는 방법: 배열 (항상 children이 4개니까) - Ray Tracing: 어떤 직선에 물체가 만나는 지 안 만나는지 계산. 최소한의 픽셀 개수 만큼 연산할 수 있음. 만나지 않는 부분을 빠르게 거를 수 있음. Octree: 3차원 - 공간 안에 여러 개의 물체가 있을 때 물체 가 어떤 식으로 배치되어 있는지 파악하기 위한 ..

2021.04.11 게시됨