Carrot

Algorithm 8

[Python] Level 2. [3차] 방금그곡

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 네오가 기억하는 멜로디와 일치하는 곡을 찾아낸다. ✅ 한 음악을 반복해서 재생할 때도 있어서 곡의 끝부분과 처음 부분이 이어진 멜로디를 기억할 수도 있다. ✅ 한 음악을 중간에 끊을 경우 원본 음악을 들은 거라도 네오가 기억한 멜로디와 다를 수 있다. ✅ 멜로디와 일치하는 곡이 여러 개라면 그 중 재생 시간이 가장 긴 음악을 답으로 구한다. 문제 풀이 알고리즘 유형 구현 풀이 설명 1. 재생 시간 구하기 멜로디와 일치하는 곡이 여러 개인 경우를 생각해야 하므로, 곡의 시작 시각과 끝난 시각 사이의 ..

[Python] Level 2. [3차] 파일명 정렬

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 files가 주어질 때, head / number / tail로 구성되어 head를 대소문자 상관 없이 오름차순으로 정렬하고, 만약 동일한 경우 number를 오름차순으로 정렬한다. ✅ head는 숫자가 아닌 문자로 구성되어 있다. ✅ number는 숫자이며, 0011과 같이 앞이 0으로 시작할 수도 있다. 문제 풀이 (1) 사용한 알고리즘 re.split(), sort() (2) 시간복잡도 files의 길이를 n, 파일명 길이를 m이라 할 때 O(n * m) (3) 문제 설명 1. files에서 ..

[Python] Level 3. 가장 먼 노드

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 1 ~ n번까지 번호가 적혀 있는 n개의 노드가 간선으로 연결되어 있을 때, 1번 노드에서 가장 멀리 떨어져 있는 노드의 개수를 구한다. 문제 풀이 (1) 사용한 알고리즘 BFS (2) 시간복잡도 O(n) (3) 설명 1. 최대 거리를 기억하는 변수(max_dist) & 1번 노드와의 최단거리를 담은 리스트(dist) 초기화 max_dist = 0 dist = [0 for _ in range(n + 1)] ✅ 편의를 위해 dist의 0번 인덱스는 사용하지 않으며, dist[k]는 1번 노드에서 k번..

[Python] Level 3. 단어 변환

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 begin 단어와 target 단어가 주어질 때, words에 있는 단어들을 조합해 begin에서 target으로 변환할 수 있는 최소 단계를 구한다. ✅ 단, 단어 사이에 한 개의 알파벳만 변환할 수 있다. 문제 풀이 (1) 사용한 알고리즘 BFS (2) 시간복잡도 O(n2) (3) 설명 1. 변환할 수 있는 다음 단어 구하기 def getNextWord(curr, words): for word in words: cnt = 0 for c, w in zip(curr, word): if c != w:..

[Python] 1309. Decrypt String from Alphabet to Integer Mapping

Decrypt String from Alphabet to Integer Mapping - LeetCode Can you solve this real interview question? Decrypt String from Alphabet to Integer Mapping - You are given a string s formed by digits and '#'. We want to map s to English lowercase characters as follows: * Characters ('a' to 'i') are represented by ('1' leetcode.com 문제 설명 You are given a string s formed by digits and '#'. We want to ma..

Algorithm/LeetCode 2023.11.21

[Python] 2485. Find the Pivot Integer

Find the Pivot Integer - LeetCode Can you solve this real interview question? Find the Pivot Integer - Given a positive integer n, find the pivot integer x such that: * The sum of all elements between 1 and x inclusively equals the sum of all elements between x and n inclusively. Return th leetcode.com 문제 설명 n이 입력으로 주어질 때, 1 ~ x의 합과 x ~ n의 합이 같아지는 x를 구하는 문제. 조건을 만족하는 x가 없다면 -1을 리턴한다. 문제 풀이 (1) 사..

Algorithm/LeetCode 2023.11.21