본문 바로가기
반응형

전체 글66

[프로그래머스 Lv.2] 타겟 넘버 문제 n개의 음이 아닌 정수들이 있습니다. 이 정수들을 순서를 바꾸지 않고 적절히 더하거나 빼서 타겟 넘버를 만들려고 합니다. 예를 들어 [1, 1, 1, 1, 1]로 숫자 3을 만들려면 다음 다섯 방법을 쓸 수 있습니다. -1+1+1+1+1 = 3 +1-1+1+1+1 = 3 +1+1-1+1+1 = 3 +1+1+1-1+1 = 3 +1+1+1+1-1 = 3 사용할 수 있는 숫자가 담긴 배열 numbers, 타겟 넘버 target이 매개변수로 주어질 때 숫자를 적절히 더하고 빼서 타겟 넘버를 만드는 방법의 수를 return 하도록 solution 함수를 작성해주세요. 제한사항 주어지는 숫자의 개수는 2개 이상 20개 이하입니다. 각 숫자는 1 이상 50 이하인 자연수입니다. 타겟 넘버는 1 이상 1000 이.. 2023. 9. 13.
[CS] MSA(Micro Service Architecture) ✔️MSA란? MSA는 소프트웨어 시스템을 작은 독립적인 서비스로 나누고, 각 서비스가 서로 협력하여 전체 애플리케이션을 구성하는 아키텍처 패턴입니다. MSA는 모놀리식(monolithic) 아키텍처와 대조되며, 애플리케이션을 하나의 대규모 모놀리식 애플리케이션 대신 작고 독립적인 서비스로 분해합니다. 💡MSA 특징 독립적인 서비스: 각 마이크로서비스는 특정한 비즈니스 기능을 수행하며, 서로 독립적으로 배포 및 확장 가능합니다. 효율적인 개발 및 배포: 각 마이크로서비스는 작고 간단하기 때문에 더 빠르게 개발하고 배포할 수 있습니다. 이로 인해 개발자 팀 간 협업이 쉬워집니다. 기술 다양성: 각 서비스는 자체 기술 스택을 선택할 수 있으므로 최신 기술을 도입하거나 레거시 시스템을 통합할 수 있습니다. 확.. 2023. 9. 11.
[프로그래머스 Lv.1] 완주하지 못한 선수 문제 수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수들의 이름이 담긴 배열 completion이 주어질 때, 완주하지 못한 선수의 이름을 return 하도록 solution 함수를 작성해주세요. 제한사항 마라톤 경기에 참여한 선수의 수는 1명 이상 100,000명 이하입니다. completion의 길이는 participant의 길이보다 1 작습니다. 참가자의 이름은 1개 이상 20개 이하의 알파벳 소문자로 이루어져 있습니다. 참가자 중에는 동명이인이 있을 수 있습니다. 풀이방법 1.해쉬 맵을 생성해서 선수이름과 수를 넣는다. 2.이때 이미 존재하는 선수(동명이.. 2023. 9. 10.
[프로그래머스 Lv.1] 신규 아이디 추천 문제 카카오에 입사한 신입 개발자 네오는 "카카오계정개발팀"에 배치되어, 카카오 서비스에 가입하는 유저들의 아이디를 생성하는 업무를 담당하게 되었습니다. "네오"에게 주어진 첫 업무는 새로 가입하는 유저들이 카카오 아이디 규칙에 맞지 않는 아이디를 입력했을 때, 입력된 아이디와 유사하면서 규칙에 맞는 아이디를 추천해주는 프로그램을 개발하는 것입니다. 다음은 카카오 아이디의 규칙입니다. 아이디의 길이는 3자 이상 15자 이하여야 합니다. 아이디는 알파벳 소문자, 숫자, 빼기(-), 밑줄(_), 마침표(.) 문자만 사용할 수 있습니다. 단, 마침표(.)는 처음과 끝에 사용할 수 없으며 또한 연속으로 사용할 수 없습니다. "네오"는 다음과 같이 7단계의 순차적인 처리 과정을 통해 신규 유저가 입력한 아이디가 .. 2023. 9. 9.
[프로그래머스 Lv.2] 가장 큰 수 문제 0 또는 양의 정수가 주어졌을 때, 정수를 이어 붙여 만들 수 있는 가장 큰 수를 알아내 주세요. 예를 들어, 주어진 정수가 [6, 10, 2]라면 [6102, 6210, 1062, 1026, 2610, 2106]를 만들 수 있고, 이중 가장 큰 수는 6210입니다. 0 또는 양의 정수가 담긴 배열 numbers가 매개변수로 주어질 때, 순서를 재배치하여 만들 수 있는 가장 큰 수를 문자열로 바꾸어 return 하도록 solution 함수를 작성해주세요. 제한사항 numbers의 길이는 1 이상 100,000 이하입니다. numbers의 원소는 0 이상 1,000 이하입니다. 정답이 너무 클 수 있으니 문자열로 바꾸어 return 합니다. 풀이방법 1. 인트로 저장된 numbers 배열을 문자로 변.. 2023. 9. 8.
[Algorithm] DFS와BFS ✔️DFS (깊이 우선 탐색)란? DFS는 그래프나 트리에서 깊이를 우선으로 탐색하는 알고리즘이며, 한 지점에서 출발하여 그래프의 깊은 곳을 우선적으로 탐색하며 더 이상 진행할 수 없을 때 되돌아가 다음 경로를 탐색합니다. 💡 동작 방식 재귀 또는 스택을 사용하여 구현 가능합니다. 시작 노드를 방문하고, 이웃 노드 중 방문하지 않은 노드를 재귀적으로 방문합니다. 더 이상 방문할 이웃 노드가 없을 때, 이전 단계로 돌아가면서 다른 경로를 탐색합니다. 💡 사용 사례 미로 찾기, 그래프 순회, 트리 순회 등에 사용됩니다. 깊이 우선 탐색은 재귀 호출을 이용한 알고리즘에서 주로 사용됩니다. 💡 장단점 장점: 간단하고 구현이 쉽다. 더 깊은 경로를 먼저 탐색하여 빠르게 결과를 얻을 수 있을 때 효과적이다. 단점:.. 2023. 9. 7.
[프로그래머스 Lv.2] 다리를 지나는 트럭 문제 트럭 여러 대가 강을 가로지르는 일차선 다리를 정해진 순으로 건너려 합니다. 모든 트럭이 다리를 건너려면 최소 몇 초가 걸리는지 알아내야 합니다. 다리에는 트럭이 최대 bridge_length대 올라갈 수 있으며, 다리는 weight 이하까지의 무게를 견딜 수 있습니다. 단, 다리에 완전히 오르지 않은 트럭의 무게는 무시합니다. 예를 들어, 트럭 2대가 올라갈 수 있고 무게를 10kg까지 견디는 다리가 있습니다. 무게가 [7, 4, 5, 6]kg인 트럭이 순서대로 최단 시간 안에 다리를 건너려면 다음과 같이 건너야 합니다. 따라서, 모든 트럭이 다리를 지나려면 최소 8초가 걸립니다. solution 함수의 매개변수로 다리에 올라갈 수 있는 트럭 수 bridge_length, 다리가 견딜 수 있는 무.. 2023. 9. 5.
[CS] 도커와 쿠버네티스 (컨테이너) ✔️컨테이너란? 컨테이너는 가상화 기술 중 하나로, 애플리케이션과 그에 필요한 모든 종속성을 패키징하고 격리된 환경에서 실행할 수 있도록 하는 기술입니다. 컨테이너는 소프트웨어를 쉽게 이동하고 배포할 수 있도록 도와주며, 다양한 운영 체제와 환경에서 일관된 실행 환경을 제공합니다. 이를 통해 애플리케이션의 개발, 테스트 및 배포를 간소화하고 효율성을 높일 수 있습니다. 💡컨테이너의 주요 개념,특징 이식성: 컨테이너는 실행 환경과 무관하게 동작하므로, 로컬 개발 환경에서부터 클라우드, 데이터 센터, 다른 운영 체제까지 어디서든 실행 가능합니다. 경량화: 가상 머신(Virtual Machine, VM)과 비교해 컨테이너는 더 가볍습니다. 이는 빠른 시작과 중지, 더 적은 자원 사용을 의미합니다. 이미지 기반.. 2023. 9. 4.
반응형