🌟 프로그래머스 / Level3 / 섬 연결하기 📃 문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🚫 제한 사항 섬의 개수 n은 1 이상 100 이하입니다. costs의 길이는 ((n-1) * n) / 2이하입니다. 임의의 i에 대해, costs[i][0] 와 costs[i] [1]에는 다리가 연결되는 두 섬의 번호가 들어있고, costs[i] [2]에는 이 두 섬을 연결하는 다리를 건설할 때 드는 비용입니다. 같은 연결은 두 번 주어지지 않습니다. 또한 순서가 바뀌더라도 같은 연결로 봅니다. 즉 0과 1 사이를 연결하는 비용이 주어졌을 때, 1과 ..
❓공부하게 된 계기 ➡️ 다음 알고리즘 스터디 주제인 이분 탐색에 대해서 예습 ❗️공부한 내용 1️⃣ 이분탐색이란? ➡️ 순차적 탐색과 비교해보면 정확히 알 수 있다. ① 순차적 탐색 (Sequential Search) ➡️ 처음부터 하나하나씩 비교해가며 끝까지 탐색하는 것이다. 최악의 경우 마지막 데이터 까지 탐색하므로 O(n) 의 시간 복잡도를 가지고 있다. ② 이분 탐색 (Binary Search) ➡️ mid 값을 구해서 계속해서 탐색 범위를 반씩 줄여나가며 탐색하는 것이다. 최악의 경우 Tree 구조에서 마지막 leaf 값까지 내려감으로 O(logN) 의 시간 복잡도를 가지고 있다. 2️⃣ 이분탐색 과정 ① 처음 범위는 index 0 에서 끝까지 이다. 이 때의 mid = 배열의 길이 / 2 ②..
🌟 프로그래머스 / 해시 / Level2 / 위장 📃 문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🚫 제한 사항 clothes의 각 행은 [의상의 이름, 의상의 종류]로 이루어져 있습니다. 스파이가 가진 의상의 수는 1개 이상 30개 이하입니다. 같은 이름을 가진 의상은 존재하지 않습니다. clothes의 모든 원소는 문자열로 이루어져 있습니다. 모든 문자열의 길이는 1 이상 20 이하인 자연수이고 알파벳 소문자 또는 '_' 로만 이루어져 있습니다. 스파이는 하루에 최소 한 개의 의상은 입습니다. 👀 입출력 예 clothes return [["ye..
🌟 프로그래머스 / 스택&큐 / Level2 / 올바른 괄호 📃 문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🚫 제한 사항 문자열 s의 길이 : 100,000 이하의 자연수 문자열 s는 '(' 또는 ')' 로만 이루어져 있습니다. 👀 입출력 예 s answer "()()" true "(())()" true ")()(" false "(()(" false 🤔 풀이 방법 1️⃣ 단순 배열을 통한 풀이 (1) ➡️ 문자열 s 를 나누어 배열을 만들고 "(" 를 +1 로 하고 ")" 를 -1 로 했을 때, 앞에서부터 탐색했을 때 그 합이 0보다 작아지거나 ..
🌟 프로그래머스 / 스택&큐 / Level2 / 프린터 📃 문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🚫 제한 사항 현재 대기목록에는 1개 이상 100개 이하의 문서가 있습니다. 인쇄 작업의 중요도는 1~9로 표현하며 숫자가 클수록 중요하다는 뜻입니다. location은 0 이상 (현재 대기목록에 있는 작업 수 - 1) 이하의 값을 가지며 대기목록의 가장 앞에 있으면 0, 두 번째에 있으면 1로 표현합니다. 👀 입출력 예 priorities location return [2, 1, 3, 2] 2 1 [1, 1, 9, 1, 1, 1] 0 5 🤔 풀..
🌟 프로그래머스 / 완전탐색 / Level2 / 소수 찾기 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 📃 문제 한자리 숫자가 적힌 종이 조각이 흩어져있습니다. 흩어진 종이 조각을 붙여 소수를 몇 개 만들 수 있는지 알아내려 합니다. 각 종이 조각에 적힌 숫자가 적힌 문자열 numbers가 주어졌을 때, 종이 조각으로 만들 수 있는 소수가 몇 개인지 return 하도록 solution 함수를 완성해주세요. 🚫 제한 사항 numbers는 길이 1 이상 7 이하인 문자열입니다. numbers는 0~9까지 숫자만으로 이루어져 있습니다. "013"은 0, 1,..