Contents
-
Apple
Apple 소식, 제품 사용기, 관련 소프트웨어(앱)
-
Algorithm
BOJ 문제풀이, 자체 알고리즘 공부, ICPC 준비
-
Development
Swift , HTML, CSS, C#, OpenFrameworks 등의 공부, 앱 개발 일지 작성
-
Books
인문, 과학, 철학, 기술 등 다양한 분야의 서적을 읽고 비평, 소개합니다.
-
Photos
이따금 스마트폰으로 찍은 사진을 올립니다.
-
Tags
블로그 포스트의 태그를 볼 수 있습니다.
Trending Posts
-
Software
남는 아이패드로 자체 제작한 스트림덱(Stream Deck)
평소 데스크테리어에 관심이 많다 보니 관련 자료들을 살펴보면 종종 등장하는 것이 바로 스트림덱이다. 각종 앱의 커스텀 단축키와 유용한 스위치 설정을 간편하게 할 수 있어 데스크 환경을 개선하는 데 매우 유용해 보였다. 하지만 가격이 꽤 비싸서, 단순히 LED 버튼 몇 개를 제공하는 장치를 그 가격에 구입하는 것이 합당한지 의문이 들었다.사실 중요한 것은 물리적 스위치의 존재이며, 소프트웨어나 단축키는 직접 만들 수 있다는 생각이 있었다. 그래서 스트림덱을 사기에는 더욱 아깝다고 느꼈다. 마침 집에 사용하지 않는 아이패드 미니 1세대가 있었고, 웹서핑도 버벅거릴 정도로 성능이 떨어진 이 아이패드를 스트림덱으로 활용해 보기로 마음먹었다.Alfred와 Alfred RemoteMac 사용자라면 한 번쯤 사용해 ..
-
PS 이론
알고리즘 시간 복잡도 계산하기: 효율성을 높이자!
시간 복잡도(Time Complexity)는 알고리즘이 문제를 해결하는 데 걸리는 시간을 수학적으로 표현한 것으로, 입력의 크기에 따라 실행 시간이 어떻게 증가하는지 나타낸다. 이 시간 복잡도 계산은 효율적인 알고리즘을 설계하고, 문제의 제약 조건에 맞게 최적의 접근을 찾기 위한 핵심적인 과정이다.이번 글에서는 시간 복잡도를 계산하는 기본 개념과 방법을 설명하고자 한다.시간 복잡도를 왜 계산해야 할까?시간 복잡도를 계산하는 것은 알고리즘의 효율성을 예측하기 위해 중요하다. 시간 제한이 있는 프로그래밍 문제에서, 알고리즘이 제한 시간 내에 문제를 해결할 수 있을지 판단하려면 시간 복잡도를 알고 있어야 한다.시간 복잡도를 표현하기 위해 O 표기법(Big-O Notation), Θ 표기법(Theta Notat..
-
PS 이론
세그먼트 트리 (Segment Tree) - C/C++로 설명
세그먼트 트리(Segment Tree)는 효율적으로 구간합이나 최소값, 최대값을 구하는 데 매우 유용한 자료구조이다. 특히, 데이터가 자주 업데이트되면서도 특정 구간의 값을 빠르게 조회해야 하는 상황에서 효과적이다. 다음은 세그먼트 트리의 기본 개념과 사용법을 예제를 통해 정리한 내용이다.세그먼트 트리 - 쓰임새세그먼트 트리는 연속적인 데이터가 있을 때, 특정 범위의 합/ 최소, 최대값 등을 구할 때 유용하게 활용될 수 있다.특정 구간의 합을 구하는 방법에 대해 살펴보자면, 일반적으로 다음과 같은 방법이 떠오른다.. 1. $arr[l] + arr[l+1] + ... + arr[r-1] + arr[r]$을 일일히 더해 구하는 방법 2. $i$번째까지의 합을 저장하는 배열을 하나 더 만들어서, 조금 더..