본문 바로가기

전체 글27

[Leetcode / Javascript] 15. 3Sum 문제는 다음과 같습니다. 숫자의 배열이 주어지고 배열의 원소 중 3개를 더해서 0이 만들어지는 조합을 찾는 문제입니다. 문제 해결방법은 다음과 같습니다. nums 배열을 정렬한 후 제일 앞 원소를 조합의 첫 번째 숫자로 지정합니다. 그리고 그 뒤에 있는 숫자들 중 조건을 만족하는 나머지 2개의 숫자를 찾습니다. nums 배열을 순회하면서 이 과정을 반복합니다. 즉, 3개의 숫자 중 가장 작은 수를 하나 뽑고 나머지 숫자의 조합을 찾는 방법입니다. nums 배열이 정렬되어 있기 때문에 첫 번째 숫자가 0보다 크다면 합이 0이 될 수 없기 때문에 순회를 종료합니다. 나머지 숫자에서 2개를 찾는 방법은 다음과 같습니다. 첫 번째 숫자 바로 다음 숫자의 index를 lo로 지정하고 가장 마지막 index를 hi.. 2021. 6. 23.
[Redis] AWS EC2에 redis-server setup 하기 이번 글에서는 AWS EC2에 외부에서 접속 가능한 redis-server를 setup 하는 과정을 정리해보겠습니다. EC2 인스턴스 생성 우선, redis-server를 설치할 EC2 인스턴스를 만듭니다. 저는 jony라는 이름의 ubuntu 18.04 인스턴스를 만들었고 인스턴스 유형은 t2.micro로 선택했습니다. EC2 인스턴스 접속 이제 이 인스턴스에 접속해보겠습니다. 위 화면에서 인스턴스 ID를 클릭하면 아래와 같은 화면이 나오고 여기서 연결 버튼을 클릭하면 인스턴스 연결에 대한 정보가 나옵니다. 연결 버튼을 클릭하면 아래와 같은 화면이 나옵니다. 저는 ssh 클라이언트로 접속을 해보겠습니다. 인스턴스 생성 시 만든 pem 키가 있는 폴더로 이동 후 위 명령어들을 그대로 치면 됩니다. chm.. 2021. 6. 22.
[AWS / RDS] 성능 개선 도우미 활용하기 현재 회사에서 RDS를 사용하고 있습니다. RDS의 성능 개선 도우미를 통해 현재 DB 인스턴스의 상태를 모니터링할 수 있지만 각 지표가 어떤 것을 의미하는지 몰라서 그에 맞는 적절한 해결방안을 적용하지 못하고 있었습니다. 이번 글에서는 RDS의 성능 개선 도우미가 제공하는 지표들이 어떤 것을 의미하는지에 대해 알아보며 알게 된 내용을 정리해보겠습니다. 데이터베이스 로드 RDS에서 제공하는 성능 개선 도우미에 들어가면 이런 화면을 볼 수 있습니다. 카운터 지표는 초당 발생하는 db transaction의 수를 보여줍니다. 그 밑에 보이는 차트는 데이터베이스 로드 입니다. 데이터베이스 로드 밑에 AAS(평균 활성 세션)에서 측정된 현재 활동이라고 적혀있지만 그게 무슨 의미인지 잘 몰랐습니다. 우선 활성 세.. 2021. 6. 10.
[Leetcode / Javascript] 14. Longest Common Prefix 문제는 다음과 같습니다. 문자열의 배열이 주어지고 그 원소들의 가장 긴 공통 prefix(Longest Common Prefix, LCP)를 찾는 문제입니다. 여러 문자열의 LCP를 찾으려면 두 문자열 씩 비교하며 LCP를 찾아나가면 됩니다. Example 1을 예로 들면 "flower"와 "flow"의 LCP인 "flo"를 찾고 다시 "flo"와 "flight"의 LCP인 "fl"을 찾는 방식입니다. 이렇게 찾아진 "fl"인 ["flower", "flow", "flight"]의 LCP가 됩니다. 위 예시를 식으로 나타내면 LCP(S1, S2, ... , Sn) = LCP(LCP(S1, S2),... Sn) 이렇게 됩니다. 이 식을 코드로 나타내보겠습니다. function LCP(left, right) .. 2021. 6. 2.