분류 전체보기 48

[LeetCode] 2657. Find the Prefix Common Array of Two Arrays

2657. Find the Prefix Common Array of Two Arrays문제 링크문제 이해하기 및 풀이prefix common array라는 단어의 정의 자체가 이해하기 어려웠다.A와 B의 prefix common array가 배열 C일 때, C[i]는 A와 B 모두에서 인덱스 i이하에 존재하는 숫자들의 개수이다. 예시를 들어보자.A = [1,3,2,4]이고B = [3,1,2,4]라고 가정하자.i = 0A의 0번 인덱스까지: 1B의 0번 인덱스까지: 3공통된 숫자가 없음따라서 C의 0번 인덱스: 0i = 1A의 1번 인덱스까지: 1, 3B의 1번 인덱스까지: 3, 1공통된 숫자: 1,3따라서 C의 1번 인덱스: 2i = 2A의 2번 인덱스: 1, 3, 2B의 2번 인덱스: 3, 1, 2공..

[LeetCode] 3223. Minimum Length of String After Operations

3223. Minimum Length of String After Operations문제 링크문제 이해하기 및 풀이문자열 s가 주어진다.주어진 문자열 s에 대해 아래의 과정을 계속 반복할 수 있다.1. 문자열의 인덱스 i를 선택한다. 단, 아래의 조건을 만족해야 한다. - 인덱스 i의 왼쪽에 s[i]와 같은 문자가 1개 이상 존재해야 한다. - 인덱스 i의 오른쪽에 s[i]와 같은 문자가 1개 이상 존재해야 한다.2. 인덱스 i의 가장 가까운 왼쪽에 있는 s[i]와 같은 문자를 삭제한다.3. 인덱스 i의 가장 가까운 오른쪽에 있는 s[i]와 같은 문자를 삭제한다.위 과정을 반복했을 때, 얻을 수 있는 s의 최소 길이를 반환하라.위 조건을 읽으며 문자의 순서나 위치는 사실 상관없다는 특징을 발견..

[LeetCode] 4. Median of Two Sorted Arrays

4. Median of Two Sorted Arrays링크풀이중앙값인 median을 구하는 문제이다.nums1, nums2 라는 정렬된 배열 2개가 주어지고 두 배열을 합쳐서 중앙값을 구해야 한다.크게 어렵지는 않지만 중앙값이라는 개념이 헷갈릴 수도 있다고 생각한다.우리가 아는 산술평균(mean)을 구하는 문제가 아니다. (수의 합 / 수의 개수)중앙값은 숫자 개수가 홀수면 배열의 가장 중앙에 있는 값을 반환하고,짝수라면 (중앙에 있는 2개 숫자의 합 / 2)를 반환해야 한다.이제 개념을 알았으니 코드로 옮기기만 하면 끝이다.spread 연산을 통해서 배열을 합쳐주고 sort()를 호출해서 정렬한다.그리고 숫자 개수가 홀수인지 짝수인지만 판별해주면 끝이다.코드/** * @param {number[]} n..

[LeetCode] 1400. Construct K Palindrome Strings

1400. Construct K Palindrome Strings링크풀이s라는 string과 k라는 integer가 입력으로 주어진다.s가 k개의 펠린드롬으로 나누어질 수 있는지에 대해 물어보는 문제이다.펠린드롬의 조건을 생각하면 중간을 기준으로 대칭이어야 한다.이에 따라서 짝수 개수의 알파벳 + k보다 작거나 같은 홀수 개수의 알파벳이 필요하다.k보다 작거나 같아야 하는 이유는 짝수 개수의 알파벳을 통해서 펠린드롬 문자열을 만들 수 있는 경우의 수가 k개이기 때문이다.말로 보면 어려운데, 예시를 보면 쉽다.Input: s = "true", k = 4Output: trueExplanation: The only possible solution is to put each character in a separ..

[LeetCode] 2185. Counting Words With a Given Prefix

2185. Counting Words With a Given Prefix링크일단 이 문제에 대한 저작권이 어떻게 돌아가는 지 몰라서 문제 링크만 복사하였다.풀이words라는 string 배열이 주어지고 pref라는 string이 주어진다.우리는 words에 저장되어 있는 단어들이 pref라는 prefix, 즉 접두사로 가지는 지 확인하면 된다.나는 자바스크립트의 startsWith이라는 string 내장 메서드를 활용해 풀었다.다만 문제 난이도가 쉽기에 하나 제약을 두었는데, 함수형 프로그래밍을 고려하여 map과 filter로 해결했다.코드/** * @param {string[]} words * @param {string} pref * @return {number} */var prefixCount = f..

앞으로의 다짐

앞으로 문제를 풀고 블로그에 한 문제씩 올리려고 한다.부스트캠프 웹모바일 9기를 진행하면서 코딩테스트 문제를 안 푼지 반년이 조금 넘었다.많은 회사에서 코딩테스트를 여전히 시행하고 있다.자바 혹은 자바스크립트 사용에 익숙해지기 위해서도 대비를 하는 것이 좋다고 생각했다.(아직까지 js와 java 중 무엇을 더 중점적으로 들고 갈 지 조금 헤매고 있긴 하다.)같은 팀원이 플랫폼으로는 LeetCode를 추천해주었고,나도 예전에 만들어뒀던 아이디가 있어서 LeetCode로 쉬운 문제부터 하루에 한 개씩 풀어나가기로 결심했다.기왕 마음 먹은 거 자세히 기록은 하지 못하더라도 어떤 문제를 풀었는지, 어떤 생각으로 혹은 어떤 제약을 두며 풀었는지 하나씩 글을 쓰려고 한다.(쉬운 문제일수록 제약을 두면 난이도를 조금..

라즈베리파이로 Denamu 테스트 서버 구축하기

라즈베리파이로 테스트 서버 구축하기맥락 공유Denamu 서비스에 대한 헬스 체크와 로그가 필요했습니다.vscode로 SSH 접속 후 메모리와 CPU를 100% 점유하는 버그가 있었고, 이외에도 어떤 이유로 서버가 멈출 때 알림의 필요성이 제기되었습니다.그래서 알림 + 원인 파악을 위한 로그, 2가지의 기능을 도입하기 위해 테스트 서버를 구축하고 해당 내용에 대해 학습, 테스트 한 뒤 배포 중인 서버에 적용할 수 있도록 했습니다.라즈베리파이 서버 구축 과정목차라즈비안 설치원격 접속 xrdp 설치(rdp란?)SSH 설정a. ssh-keygen 사용b. sshd 설정에서 패스워드 사용 OFF 후 SSH key 사용 ONnvm 설치a. node 설치b. db 설치 (mysql 지원 X → maria DB 설치해..

NCP 활용 프로젝트 소개 - 🎄Denamu

프로젝트 소개Denamu는 분산되어 있는 개발 컨텐츠를 한 곳에서 편리하게 볼 수 있도록 도와주는 큐레이션 플랫폼 서비스입니다.RSS를 활용하여 저희 서비스에 등록된 기술 블로그의 최신 게시글 데이터를 제공합니다.그 뿐만 아니라 채팅이나, 블로그에서 파생되는 통계 자료를 제공하여 모든 개발자들의 성장을 돕는 지식 공유 플랫폼이 되는 것을 지향하고 있습니다.Denamu 프로젝트Denamu 소개 페이지서버 요구사항저희 팀이 생각한 서버 요구사항은 다음과 같습니다.최소의 비용으로 안정적인 성능 보장외부에 서버 노출을 최소화 하여 보안 강화6주라는 시간을 고려하여 러닝커브를 최소화 하고 빠르게 서비스 개발구체적 동작 방식서버에서는 두 가지의 프로세스가 동작하고 있습니다. 하나는 API 서버, 또다른 하나는 RS..