목록전체 글 (78)
J.BF Story
서로소 집합(Disjoint Set) 이란?서로소 집합은 서로 공통 원소가 없는 둘 이상의 집합들을 의미한다.고등학교 때 반 별로 나눠 운동회를 진행했던 것을 생각하면 이해가 쉬울 것같다.보통 가장 효율적인 트리 구조를 이용해서 구현한다. 유니온 파인드란(Union Find) 이란?유니온 파인드는 서로소 집합을 만들 때 사용하는 알고리즘이다.각 집합에는 대표 번호를 가지며 2가지 연산을 통해 두 집합을 합치거나 해당 집합의 대표 번호를 찾을 수 있다.union(a, b): a와 b의 집합을 합친다.findSet(a): 대표번호(트리에서는 최상위 부모)를 찾아 반환한다.💡findSet의 경로 압축findSet구현 시 경로 압축을 사용하여 속도를 더 빠르게 할 수 있다경로 압축을 사용하지 않은경우, 트리 구..
Mac M1 Ventura 13.4pip 21.2.4 / python 3.9 N2T는 Notion에서 작성한 글을 티스토리에 편하게 올릴 수 있도록 한 Python기반 프로그램이다.정리는 Notion으로 많이 하는데 Notion에 있는 것을 티스토리에 올리려니 생성 뿐만 아니라 수정도 번거로워서 사용하게 되었다 (노션에서 HTML로 변환해서 올려야하고.. 수정하러 들어가면 틀이 다 깨지고.. 티스토리 작성 방법도 노션보다 생산성이 낮고..) 금방 설치할 수 있을 줄 알고 시작했으나… 예상치 못한 문제가 많아 생각보다 오래걸렸다…이 글을 통해 다른 분들이 설치 시간을 줄이는데 조금이나 도움이 되었으면 좋겠다 설치기본 설치는 공식 게시글에 잘 정리되어있으니 참고해서 사용하면 된다! 문제 해결config.py..
Java 1.8 java.util.ArrayList 기본 배열 용량: 10개의 데이터 public class ArrayList extends AbstractList implements List, RandomAccess, Cloneable, java.io.Serializable { private static final long serialVersionUID = 8683452581122892189L; /** * Default initial capacity. */ **private static final int DEFAULT_CAPACITY = 10;** /** * Shared empty array instance used for empty instances. */ private static final Obj..
Array란? 크기가 고정적이며 연속적, 순차적으로 데이터 저장 시간복잡도 접근: O(1) 랜덤 엑세스 💡 랜덤 액세스란? - 데이터 구조에서 원하는 위치에 직접 접근할 수 있는 방식 - 예) 배열의 주소와, 데이터 크기, 인덱스 번호를 알고 있으면 해당 블럭으로 바로 참조 가능 탐색: O(N) 삽입: O(N) 해당 자리 이후 데이터를 전부 뒤로 미루고 해당 자리에 데이터 덮어쓰기 삭제: O(N) 해당 자리 데이터 지우고 해당 자리 이후 데이터 전부 앞으로 땡기기 잦은 삭제와 추가가 발생하는 경우, Array 요소들을 이동시켜야 하기 때문에 오버헤드 발생 ArrayList란? 배열의 크기를 동적으로 다룰 수 있는 자료구조 시간 복잡도는 Array와 동일 데이터의 크기가 불확실할 때 좋음 (추가, 삭제 용이)
저번에 발생했던 SDK 버전 에러가 또 발생했다 (참고: [Flutter] Error: Execution failed for task ':app:checkDebugAarMetadata'.) FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':app:checkDebugAarMetadata'. > Multiple task action failures occurred: > A failure occurred while executing com.android.build.gradle.internal.tasks.CheckAarMetadataWorkAction > The minCompileSdk (33) speci..
조건문에 사용되는 동등 비교 연산자인 'is'와 '=='는 언뜻 보면 표현법만 다른 동일한 연산자 보이지만 비교하는 대상이 다르다. 두 연산자의 차이점 is: 변수의 객체(Object) 동등 비교 ==: 변수의 값(Value) 동등 비교 예시 """ 같은 객체(Object): test1, test3 같은 값(Value): test1, test2 ,test3 """ test1 = [] test2 = [] test3 = test1 ## is 연산자 (test1 is test2) # False (test1 is test3) # True (test2 is test3) # False ## == 연산자 (test1 == test2) # True (test1 == test3) # True (test2 == test3..
윈도우와 달리 기본 맥에서는 화면 분할 기능이 없다. Spectacle 앱을 사용하면 단축키로 쉽게 화면 분할을 할 수 있다. Spectacle 다운로드 방법 1. 공식 홈페이지에서 Spectacle 다운로드 공식 홈페이지 Spectacle www.spectacleapp.com 2. 다운로드한 Spectacle 압축파일 풀기 3. Spectacle 앱을 '응용 프로그램' 폴더로 이동 4. Spectacle 앱 최초 실행 및 권한 설정 '응용 프로그램' 폴더에 있는 Spectacle 앱을 실행한다. 다음과 같은 문구가 뜨면 '열기'를 누른다. 다음과 같이 권한 설정 요구 창이 뜨면 'Open System Preferences'버튼을 클릭한다. ('시스템 환경설정 > 보안 및 개인 정보 보호'로 연결된다.)..
macOS Monterey v12.3.1 Galaxy Note20 Andriod v12 scrcpy이란 오픈소스를 통해 macOS환경에서 안드로이드 폰 화면 미러링이 가능하다. scrcpy 깃허브 주소 USB 또는 TCP/IP를 통해 연결된 안드로이드 장치 디스플레이 및 제어 기능 제공 GNU/Linux, Window, macOS에서 작동 가능 scrcpy 설치 1. brew 설치 다음 포스팅 참고하여 brew을 설치한다. https://jbf-story.tistory.com/16 [Mac] Homebrew 설치 OS: MacOS 11.3.1 Homebrew: 3.4.7 Homebrew Homebrew 공식사이트 설치 /bin/bash -c "$(curl -fsSL https://raw.githubuse..
Sourcetree로 깃 커밋 작업을 하는데 설정이 꼬였는지 브랜치를 옮기니 커밋했던 내용들이 사라졌다. 커밋이 사라진 원인은 찾지 못했지만 보통의 경우 'git rebase', 'git reset' 등으로 커밋이 삭제될 수 있다고 한다. reflog git reference log git reference가 로컬 레포지토리에서 업데이트된 로그 추적 1. git reference 로그 보기 (reflog) git reflog 2. 해당 커밋 복구하기 (git reset --hard) reflog에서 출력된 HEAD 중 복구하고싶은 것을 골라 reset한다. git reset --hard head@{3}
JSON.stringify 함수를 사용하여 Json 데이터를 예쁘게 출력할 수 있다. const jsonData = { "test_int": 12, "test_float": 1.23, "test_str": "asdf", "test_array": [1, 2, 3, 4], "test_object": { "sub_test": 123, "sub_test2": "qwer", }, }; console.log(JSON.stringify(jsonData)); // not pretty print console.log(JSON.stringify(jsonData, null, 2)); // pretty print (space:2)