코딩테스트 문제를 풀어보다가 새로운 자극을 얻게 된 문제가 있어 오랜만에 코딩테스트 글을 정리해본다.Given a non-empty array of integers nums, every element appears twice except for one. Find tha
gRPC 구글에서 개발한 RPC 프레임워크로, 네트워크를 통해서 다른 시스템의 함수를 호출할 수 있게 해 준다. 클라이언트 애플리케이션은 다른 머신의 서버 애플리케이션의 함수를 로컬 함수처럼 호출해 사용할 수 있다. 클라이언트와 서버는 다양한 환경으로 구성되어 실행하고
이전에 로컬에서 Redis 로 조회 데이터를 캐싱에 조회 성능을 개선하는 과정을 정리했다. 이제 로컬에서 작업한 코드를 배포해 확인하고자 한다. AWS 의 EC2 와 RDS 를 활용해서 인프라를 구성하고 코드를 배포해 Redis 를 활용할 수 있도록 해보자. 아키텍처
키-값 저장소(key-value store)는 키-값 데이터베이스라고도 불리는 비 관계형(non-relational) 데이터베이스이다. 이 저장소에 저장되는 값은 고유 식별자(identifier) 를 키로 가져야 하며, 키와 값 사이의 이러한 연결 관계를 ‘키-값’ 쌍
수평적 규모 확장성을 달성하기 위해서는 요청 또는 데이터를 서버에 균등하게 나누는 것이 중요하다. 안정 해시는 이 목표를 달성하기 위해 보편적으로 사용하는 기술이다.해시 키 재배치 문제는 안정 해시 기술로 풀고자 하는 문제이다.N 개의 캐시 서버가 있을 경우, 균등하게
Redis 를 활용해 데이터를 캐싱하여 조회 성능을 개선해보자. > ### 캐시(Cache) 원본 저장소(Database) 보다 빠르게 가져올 수 있는 임시 데이터 저장소 캐싱(Caching) 캐시(임시 데이터 저장소)에 접근해 데이터를 빠르게 가져오는 방식 데이터
서비스에서 Feign client 를 통해 요청하는 다른 API 서비스가 일시적인 서버 상의 문제로 정상 응답을 주지 못할 때, 응답을 받기 위한 재시도를 수행할 수 있도록 한다. 목적 market-api 에서 store-api 로 가게 정보를 요청한다고 가정해 보자.
출처 - https://school.programmers.co.kr/learn/courses/30/lessons/142086문자열 s가 주어졌을 때, s의 각 위치마다 자신보다 앞에 나왔으면서, 자신과 가장 가까운 곳에 있는 같은 글자가 어디 있는지 알고 싶
출처 - https://leetcode.com/problems/island-perimeter/row x col로 된 grid가 주어진다. grid\[i]\[j]가 1이라면 땅, 0은 물을 나타낸다.한 칸은 가로/세로로 연결되고 대각선으로 이동할 수 없다. gr
출처 - https://school.programmers.co.kr/learn/courses/30/lessons/43165n개의 음이 아닌 정수들이 있습니다. 이 정수들을 순서를 바꾸지 않고 적절히 더하거나 빼서 타겟 넘버를 만들려고 합니다. 예를 들어 1,
출처 - https://leetcode.com/problems/longest-palindrome/소문자 또는 대문자로 구성된 문자열 s가 있다.해당 문자로 만들 수 있는 가장 긴 회문의 길이를 반환한다.Example 1Input: s = "abccccdd"Ou
출처 - https://leetcode.com/problems/isomorphic-strings/두 개의 문자열 s와 t가 동형인지 확인하는 문제이다. (s의 문자를 t로 대체할 수 있는 경우)Example 1Input: s = "egg", t = "add"O
게임개발자인 "죠르디"는 크레인 인형뽑기 기계를 모바일 게임으로 만들려고 합니다."죠르디"는 게임의 재미를 높이기 위해 화면 구성과 규칙을 다음과 같이 게임 로직에 반영하려고 합니다.게임 화면은 "1 x 1" 크기의 칸들로 이루어진 "N x N" 크기의 정사각 격자이며
정수 배열 numbers가 주어집니다. numbers에서 서로 다른 인덱스에 있는 두 개의 수를 뽑아 더해서 만들 수 있는 모든 수를 배열에 오름차순으로 담아 return 하도록 solution 함수를 완성해주세요.numbers의 길이는 2 이상 100 이하입니다.nu
스마트폰 전화 키패드의 각 칸에 다음과 같이 숫자들이 적혀 있습니다.이 전화 키패드에서 왼손과 오른손의 엄지손가락만을 이용해서 숫자만을 입력하려고 합니다.맨 처음 왼손 엄지손가락은 \* 키패드에 오른손 엄지손가락은 1\. 엄지손가락은 상하좌우 4가지 방향으로만 이동할
카카오에 입사한 신입 개발자 네오는 "카카오계정개발팀"에 배치되어, 카카오 서비스에 가입하는 유저들의 아이디를 생성하는 업무를 담당하게 되었습니다. "네오"에게 주어진 첫 업무는 새로 가입하는 유저들이 카카오 아이디 규칙에 맞지 않는 아이디를 입력했을 때, 입력된 아이
어떤 정수들이 있습니다. 이 정수들의 절댓값을 차례대로 담은 정수 배열 absolutes와 이 정수들의 부호를 차례대로 담은 불리언 배열 signs가 매개변수로 주어집니다. 실제 정수들의 합을 구하여 return 하도록 solution 함수를 완성해주세요.absolut
로또 6/45(이하 '로또'로 표기)는 1부터 45까지의 숫자 중 6개를 찍어서 맞히는 대표적인 복권입니다. 아래는 로또의 순위를 정하는 방식입니다.로또를 구매한 민우는 당첨 번호 발표일을 학수고대하고 있었습니다. 하지만, 민우의 동생이 로또에 낙서를 하여, 일부 번호
두 정수 left와 right가 매개변수로 주어집니다. left부터 right까지의 모든 수들 중에서, 약수의 개수가 짝수인 수는 더하고, 약수의 개수가 홀수인 수는 뺀 수를 return 하도록 solution 함수를 완성해주세요.1 ≤ left ≤ right ≤ 1,