본문 바로가기
반응형

분류 전체보기163

[Apple Silicon] Stable Diffusion Web UI 설치하기 Stable Diffusion 이란? 스테이블 디퓨전은 2022년 출시된 딥 러닝 모델 입니다. 주로 텍스트 설명에 따라 이미지를 생성하는데 주로 사용 됩니다. 스타트업 회사인 Stability AI 에서 개발한 인공지능으로 엄청난 개발 비용이 들어 갔겠지만 이것을 그냥 무료로 배포하였습니다. 그래서 이것을 우리가 컴퓨터에 설치하고 실행해 볼 수 있는 것입니다. Stable Diffusion을 무료로 공개함에 따라 다양한 사람들이 이것을 응용하여 여러가지 편리한 기능을 추가하였습니다. 그중 하나가 AUTOMATIC111 이라는 사람이 github에 공개한 Stable Diffusion Web UI 입니다. Stable Diffusion Web UI란? 기존의 스테이블 디퓨전을 사용하려면 복잡한 기능에 개.. 2023. 9. 24.
LIS 란? LIS(Longest Inceasing Sequence)란? LIS는 Longest Increasing Subsequence의 약자로 최장 증가 수열 또는 최장 증가 부분수열이라고 합니다. LIS를 이해하기 위해서는 먼저 Increasing Subsequence 한글로 증가 부분수열을 알아야 합니다. 증가 부분수열을 말 그대로 증가하고 있는 부분 수열을 나타냅니다. 가령 [5, 1, 9, 2, 7, 3, 8, 4, 6] 이라는 리스트가 존재할때 여기서 증가하는 부분 수열을 찾아 보겠습니다. [5, 9], [5, 7, 8], [1, 2, 7, 8] 등등 다양한 증가하는 부분수열이 존재합니다. 이중 가장 길이가 큰 최장 증가 부분 수열은 [1, 2, 3, 4, 6]이 됩니다. 이 최장 증가 부분 수열을 찾는.. 2023. 9. 21.
[백준 12015] 가장 긴 증가하는 부분 수열 2 문제 출처 : https://www.acmicpc.net/problem/12015 12015번: 가장 긴 증가하는 부분 수열 2 첫째 줄에 수열 A의 크기 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 수열 A를 이루고 있는 Ai가 주어진다. (1 ≤ Ai ≤ 1,000,000) www.acmicpc.net LIS(Longest Inceasing Sequence)란? LIS는 Longest Increasing Subsequence의 약자로 최장 증가 수열 또는 최장 증가 부분수열이라고 합니다. LIS를 이해하기 위해서는 먼저 Increasing Subsequence 한글로 증가 부분수열을 알아야 합니다. 증가 부분수열을 말 그대로 증가하고 있는 부분 수열을 나타냅니다. 가령 [5, 1,.. 2023. 9. 20.
[백준 1725] 히스토그램(세그먼트 트리) 문제 출처 : https://www.acmicpc.net/problem/1725 1725번: 히스토그램 첫 행에는 N (1 ≤ N ≤ 100,000) 이 주어진다. N은 히스토그램의 가로 칸의 수이다. 다음 N 행에 걸쳐 각 칸의 높이가 왼쪽에서부터 차례대로 주어진다. 각 칸의 높이는 1,000,000,000보다 작거나 같은 자 www.acmicpc.net 히스토그램은 다양한 풀이 방법으로 유명한 문제 입니다. 스택, 분할정복, 세그먼트 트리로 풀 수 있습니다. 여기서는 세그먼트 트리의 다양한 응용에 대해 배우기 위해 세그먼트 트리로 푸는 방법을 알아보겠습니다. 문제 이해하기 문제 풀이를 위한 개념은 이렇습니다. 아래와 같은 히스토그램이 있습니다. 처음부터 끝까지를 모두 포함하는 직사각형은 가장 낮은 높.. 2023. 9. 18.
Homebrew 설치하고 사용하기 Homebrew 란? Homebrew(홈브루)란 맥스 호웰(Max Howell)이라는 개발자가 만든 MacOS 용 패키지 관리 프로그램 입니다. 원래의 뜻은 집에서 만든 물건, 수제품을 뜻하는 단어 입니다. 특히 직접 담근 술을 뜻하는데 그중에서도 맥주를 지칭할 때가 많습니다. 그래서 홈브루의 로고도 사과(apple)로 만든 맥주의 형태입니다. 맥북을 사용하는 개발자라면 필수적으로 사용하는 프로그램중 하나로 프로그램을 설치하기 위해 해당 프로그램의 웹사이트에 방문하고, 다운로드 버튼을 찾아서 다운로드하고, 다운로드 된 프로그램을 설치하는 복잡한 단계를 터미널에 단 몇줄의 명령으로 해결할 수 있게 해줍니다. Homebrew 설치하기 homebrew를 설치하기 위해 homebrew 홈페이지에 접속합니다. 홈.. 2023. 9. 17.
[백준 28325] 2023 정올 "호숫가의 개미굴" 문제 출처 : https://www.acmicpc.net/problem/28325 28325번: 호숫가의 개미굴 KOI 호숫가에 여러 개미가 모여 사는 개미굴이 있다. 개미굴은 둥근 호수의 둘레를 따라 $1$부터 $N$까지의 번호가 붙은 $N$개의 방이 차례대로 원형으로 배치되어 있으며, 모든 $i$ ($1 \le i \le N-1$)에 www.acmicpc.net 이 문제는 2023년 정보올림피아드 2차 대회 초등부 3번, 중등부 2번 문제입니다. 이 문제를 풀기 위해서 생각해야 하는 부분을 알아보겠습니다. 쪽방 사용 개미굴에 쪽방이 있다면 쪽방을 이용하는 것이 최선 입니다. 그림과 같이 여러 개미굴이 있는 곳의 일부를 보도록 하겠습니다. 2번 개미굴에 쪽방이 하나 연결되어 있습니다. 쪽방인 4번을 선.. 2023. 9. 15.
파이썬 lambda 함수 활용 팁 lamda 함수란? 파이썬의 lambda(람다)함수는 활용성이 많아 많이 사용합니다. 하지만 이제 막 배운 입장에서는 도대체 이것을 어떻게 활용할 지 몰라서 사용이 꺼려지는 것이 사실입니다. 람다 함수에 대해서 잘 모른다면 아래 링크를 통해 확인 부탁 드립니다. https://wikidocs.net/197106 01. lambda 함수 # key 만들기 우리는 max 함수에 어떤 값을 비교해서 뽑아야 하는지 알려줘야 합니다. max 함수에 key라는 매개변수를 사용하면 max 함수에게 어떤 기준의 최댓값을 선… wikidocs.net lambda 함수의 활용 lamda 함수를 가장 많이 활용하는 몇가지 방법을 뽑아 보았습니다. 개인적인 생각이니 다른 유용한 사용법이 있으면 댓글로 소개 부탁 드립니다. 1.. 2023. 9. 14.
[백준 1517] 버블 소트(merge sort로 풀기) 문제 출처 : https://www.acmicpc.net/problem/1517 1517번: 버블 소트 첫째 줄에 N(1 ≤ N ≤ 500,000)이 주어진다. 다음 줄에는 N개의 정수로 A[1], A[2], …, A[N]이 주어진다. 각각의 A[i]는 0 ≤ |A[i]| ≤ 1,000,000,000의 범위에 들어있다. www.acmicpc.net 이 문제의 이름은 버블 소트이지만 버블 소트로 문제를 풀려고 한다면 시간초과로 문제를 해결할 수 없습니다. 이 문제는 앞에서 배운 Inversion Counting 으로 해결할 수 있습니다. 앞에서 세그먼트 트리로 푸는 방법을 배웠다면 이번에는 merge sort를 사용하여 문제를 풀어보도록 하겠습니다. 세그먼트 트리의 문제점 세그먼트 트리로 풀 수 있지만 머.. 2023. 9. 13.
Inversion Counting 알고리즘 Inversion Counting 이란? Inversion Counting 이란 역순으로 되어 있는 순서쌍의 개수를 세는 유명한 알고리즘 입니다. 쉽게 예를 들면 아래와 같은 숫자가 있습니다. 3 2 5 4 1 이렇게 5개의 숫자가 있습니다. 하나씩 비교해보면 (3, 2)는 3이 더 크기 때문에 역순으로 되어 있습니다. (3, 5)는 역순이 아닙니다. (3, 4) 역시 역순이 아닙니다. (3, 1)은 역순으로 되어 있습니다. 이런식으로 모든 순서쌍을 비교해보면 아래와 같은 순서쌍을 찾을 수 있습니다. (3, 2), (3, 1), (2, 1), (5, 4), (5, 1), (4, 1) 이렇게 6개의 순서쌍을 찾을 수 있습니다. 이것은 버블 정렬을 진행할 때 몇 번이나 교환을 진행하는지의 숫자와 같습니다. .. 2023. 9. 11.
반응형