All (82) 썸네일형 리스트형 [코딩테스트] minSubArrayLen, 슬라이딩 윈도우 알고리즘 문제. 슬라이딩 알고리즘 - MinSubArrayLen 위 문제는 주어진 배열의 합이 숫자랑 같거나 큰 경우, 해당 배열합의 최소 길이를 반환하는 문제이다. 즉, array와 sum이 주어지면 array 요소의 합이 sum보다 크거나 같은 최소 길이를 반환하면 된다.이때 array 요소는 인접한 요소여야 한다. 슬라이딩 윈도우 알고리즘을 통해 해결해야 하며, 시간복잡도는 O(n) 공간복잡도는 O(1)이여야 한다. 처음에 어떻게 풀어야 할지 감이 안왔다. while문을 이용해서 한 칸씩 늘려가야 겠다는 생각을 하긴 했는데, 어떻게 늘려가야 하지? 라는 고민이 계속 들었다. 결국 시간이 지나도 문제를 맞추지 못해서 답안을 확인했다. *슬라이딩 윈도우 알고리즘 : 배열의 한 부분을 정의하고, 이 부분을.. 윈도우 & 리눅스 HTTPS 인증서 발급 방법 (Let's Encrypt) 회사에서 프로젝트를 진행할 때, HTTPS 인증서를 발급받는 작업을 한적 있다. 예전에 네이버 블로그에 포스팅 했었는데, 노션에 기록했던 거에 비해서 간단하게 적은 것 같다.그래서 이번 기회에 다시 복습할 겸 정리하려 한다. 우선 회사에서 필요한 https 인증서는 상업적인 인증기관에서 발급받을 필요도 없었고, 유효기간이 길 필요도 없었다. 그래서 무료 인증서인 Let's Encrypt를 사용했다. https 사용한 적은 처음이라 폭풍 구글링부터 시작해서 많이 헤맸다.그 과정을 적을거기 때문에 급한 사람들은 "정리 - 성공과정"을 읽으면 된다. 1. 리눅스 우선 회사 서버에 미리 설치해야 했기 때문에 리눅스 환경에서 https 인증서를 발급받았다.Cerbot라는 Let's Encrypt SSL/TL.. [회고록] 농림축산식품부 공공데이터 활용 창업경진대회 후기 농림축산식품부 공공데이터 활용 창업경진대회에 참가하게 되었다.회사와 병행하여 진행했기 때문에 힘들었지만, 그만큼 얻어간 것도 많아서 회고록을 남기려 한다. - 농림축산식품부 공공데이터 활용 창업경진대회 농림축산식품부 공공데이터 활용 창업경진대회는 말 그대로 농림축산식품에 관한 아이디어나 제품 및 서비스 개발에 대한 공모전이다. 아이디어 기획, 제품 및 서비스 개발 두 가지 분야로 나눠져 있다. - 준비 과정 해당 공모전에 참여하게 된 이유는 우연이였다. 팀원 중 한 명이 공모전을 찾아보다가 해당 공모전을 보게 되었고, 참가해 보는 게 어떻겠냐는 제안을 해왔다. 팀원 모두 동의해서 공모전 참여가 결정되었고, 5월 초에 아이디에 회의에 들어갔다.다양한 의견이 나왔었는데, 이 중 선정된 것은 농장 혹은 목.. [Next.js] next-themes로 Nextjs에서 간단히 다크모드 구현하기 (feat. tailwind) 1. next-themesnext-themes는 next.js에서 쉽게 다크 모드 및 기타 테마를 구현할 수 있도록 도와주는 라이브러리이다.해당 라이브러리를 사용하면 정말 간단하게 다크 모드를 구현할 수 있다. 아래 사용방법은 nextjs + tailwind에서 다크모드를 구현하는 방법이다. 2. 사용방법1) 설치npm install next-themesyarn add next-themes npm을 통해 next-themes를 설치해 준다. 2) tailwind css와 연동// tailwind.config.jsmodule.exports = { darkMode: 'class', // 다크 모드를 클래스 기반으로 설정 content: [ './app/**/*.{js,ts,jsx,tsx}',.. [GitHub] GitHub Actions을 사용하여 push 할 때 자동으로 build 되도록 만드는 방법 최근 회사에서 배포하는 작업이 많아지다 보니 점점 귀찮아졌다build 하고 배포하고 하는 과정이 귀찮아서 자동으로 할 수 있는 방법을 찾아보다 GitHub Action에 대해 알게 되었다. 1. GitHub Action이란?GitHub Actions은 GitHub에서 제공하는 자동화 도구로, 코드의 빌드, 테스트, 배포 등의 작업을 자동화할 수 있도록 도와준다. GitHub 저장소에 특정 이벤트가 발생할 때마다 워크플로우를 실행하여 원하는 작업을 수행할 수 있다. YAML 파일을 사용해 쉽게 워크플로우를 정의하고 구성할 수 있다. 또한, Linux, macOS, window 등 다양한 운영체제 환경에서도 실행이 가능하다. 2. 사용방법GitHub Actions는 GitHub에 내장되어 있기 때문에 .. [Git] 삭제된 브랜치 복구하기 Git을 사용하다보면 실수로 브랜치를 삭제하는 경우가 발생하기도 한다. 바로 오늘의 나처럼.. 일하다가 실수로 머지도 안한 브랜치를 삭제해버렸다. 진짜 순간 너무 놀라서 멍때리다가 복구해야겠다는 생각에 폭풍구글검색하고 겨우 복구했다. 이 기억을 잊지 않기 위해 블로그에 남긴다. 나의 경우 로컬에서 브랜치를 삭제했기 때문에 Remote에 해당 기록이 남아있어 복구가 가능했다. 1. 삭제된 브랜치의 마지막 commit 찾기 git reflog 우선 로컬에서 삭제된 브런치의 마지막 커밋을 찾아야 한다. git은 reflog라는 기능을 제공하는데, 이는 Git에서 수행한 최근 활동의 로그를 보여준다. 해당 명령어를 사용하면 이런 로그가 뜰 것이다. 여기서 삭제된 브런치의 마지막 커밋을 찾아 해당 커밋 ID를 기.. 윈도우, 리눅스에서 서버 재부팅시 프로그램 자동실행 설정하기 (feat. next.js) 이번에 윈도우, 리눅스 등 모든 서버에서 재부팅 시 프로그램이 자동으로 실행되도록 설정했다.기존에는 pm2로 관리를 했었는데, 서버가 꺼질 때마다 수동으로 프로그램을 시작해줘야 했다. 서버가 꺼질때마다 다시 시작하는 것도 귀찮았는데, 꺼졌다는 걸 인지하지 못했을 때 오는 민원 전화가 더 무서웠다🥲그래서 이러한 상황을 방지하기 위해 자동실행 설정을 시작했다. 그 과정을 고생한거 정리할 겸 기록 겸으로 블로그에 작성한다. 우선은 윈도우부터!윈도우는 nssm을 이용해 배치파일을 서비스에 등록하는 방법을 사용했다. 바쁜 분들은 성공과정으로 고고 > 정리 부분 보면 됨 1. Window1) 실패 과정 이전 프로젝트 했을 당시, window 서버에서 nssm을 통해 자동 실행을 등록했었다.그래서 이번에도.. [2주만에 통과하는 알고리즘] 파이썬 입력과 출력 / 반복문과 조건문 1. 입력과 출력 #입력 #input() = 사용자한테 입력 받은것을 출력함 #case1 : 단순 정수 number = int(input()) #case2 : 단순 문자 #input default type = 문자열 타입 string = input() #출력 print(number + number) #24 print(string + string) #1212 파이썬에서 input은 기본적으로 string으로 받아오기 때문에 input()만 사용하면 string type이 된다. 만일 정수를 받아오고 싶다면 input을 int로 감싸줘야 한다. > int(input()) 숫자와 숫자를 더하면 두 값을 합한 값이 출력되지만, 문자열을 더하면 두 값을 나열한 형태로 출력된다. 1) map, split #map .. 이전 1 2 3 4 5 6 7 8 ··· 11 다음