분류 전체보기

Kotlin

지연 계산 Lazy 컬렉션 연산

filter, map 등의 몇 가지 컬렉션 함수는 결과 컬렉션을 즉시 생성한다. 이는 컬렉션 함수를 연쇄하면 매 단계마다 계산 중간 결과를 새로운 컬렉션에 임시로 담는다는 의미이다. 시퀀스 sequence 를 사용하면 중간 임시 컬렉션을 사용하지 않고 컬렌션 연산을 연쇄할 수 있다. 중간 결과를 저장하는 컬렉션이 생기지 않기 때문에 원소가 많을 경우 연산에 대한 성능이 개선된다. 시퀀스 Sequence 코틀린의 지연 계산 시퀀스는 Sequence 인터페이스에서 시작한다. 이 인터페이스는 단지 한 번에 하나씩 열거될 수 있는 원소의 시퀀스를 표현할 뿐이며, Sequence 안의 iterator 라는 단 하나의 메서드를 통해 시퀀스로부터 원소 값을 얻을 수 있다. asSequence 확장 함수를 호출하면 어..

CS/운영체제

운영체제

Operating System, 운영체제는 사용자가 컴퓨터를 편리하고 효과적으로 사용할 수 있도록 환경을 제공하는 시스템 소프트웨어이다. 운영체제는 하드웨어를 관리하고, 컴퓨터 시스템의 자원들을 효율적으로 관리하며, 응용 프로그램과 하드웨어 간의 인터페이스로써 다른 응용 프로그램이 유용한 작업을 할 수 있도록 환경을 제공한다. 운영체제 종류 운영체제는 공급되는 시장에 따라 임베디드, 서버, 모바일, 데스크탑의 4개 시장으로 나뉘어져 있다. 임베디드 시장은 자체 제작한 운영체제(펌웨어)를 많이 썼지만 하드웨어의 성능이 올라가며 리눅스 계열 커널을 사용한다. 서버 시장은 유닉스 계열이 점유율 1위, 모바일 시장은 리눅스 계열인 안드로이드가 점유율 1위, 데스크탑 시장은 윈도우가 점유율 1위이다. 서버 운영체..

Kotlin

컬렉션 함수형 API

filter, map filter : 컬렉션을 이터레이션하며 주어진 람다에 각 원소를 넘겨서 람다가 true 를 반환하는 원소만으로 이뤄진 새로운 컬렉션을 반환하는 함수 입력 컬렉션의 원소 중에서 주어진 술어 predicate 를 만족하는 원소들의 컬렉션을 반환 컬렉션에서 원치 않는 요소를 제거할 때 사용 술어 predicate 참, 거짓을 반환하는 함수 EX. 나이가 30 초과인 Person 객체들의 컬렉션을 반환 val people = listOf(Person("Alice", 29), Person("Bob", 31)) println(people.filter { it.age > 30 }) [Person(name=Bob, age=31)] map : 주어진 람다를 컬렉션의 각 원소에 적용한 결과를 모아 새..

코딩테스트

코테용 Python 문법 정리

보호되어 있는 글입니다.

코딩테스트/알고리즘

Brute-force

완전탐색, 컴퓨터의 빠른 계산 능력을 이용하여 가능한 경우의 수를 일일이 나열하면서 답을 찾는 방법을 의미한다. 완전 탐색 자체로는 알고리즘이라기 보다는 문제를 푸는 기법이며, 답으로 가능한 경우의 수가 많을 때 시간복잡도가 크므로 경우의 수가 작은지 파악하는 것이 중요하다. 완전 탐색 기법 단순 Brute-force 비트마스크 Bitmask 재귀 함수 순열 Permutation BFS / DFS 단순 Brute-force 어느 기법을 사용하지 않고 단순히 반복문과 조건문 등으로 모든 case 들을 만들어 답을 구하는 방법이다. 비트마스크 2진수를 이용하는 컴퓨터의 연산을 이용하는 방식이며, 문제에서 나올 수 있는 모든 경우의 수가 각각의 원소가 포함되거나 포함되지 않는 두 가지 선택으로 구성되는 경우 ..

코딩테스트/알고리즘

Greedy

Greedy 그리디 알고리즘은 탐욕법이라고도 하며, 현재 상황에서 지금 당장 좋은 것만 고르는 알고리즘 일반적인 그리디 알고리즘은 문제를 풀기 위한 최소한의 아이디어를 떠올릴 수 있는 능력을 요구한다. 매 순간 가장 좋아 보이는 것만 선택하며, 현재의 선택이 나중에 미칠 영향에 대해서는 고려하지 않는다. 문제 풀 때 일반적인 상황에서 그리디 알고리즘은 최적의 해를 보장할 수 없을 때가 많다. 하지만 코딩 테스트에서의 대부분의 그리디 문제는 탐욕법으로 얻은 해가 최적의 해가 되는 상황에서, 이를 추론할 수 있어야 풀리도록 출제가 된다고 한다. 그리디 알고리즘은 기준에 따라 좋은 것을 선택하는 알고리즘이므로 문제에서 '가장 큰', '가장 작은'와 같은 기준을 제시해준다.

minux.
'분류 전체보기' 카테고리의 글 목록 (4 Page)