해설

알고리즘/프로그래머스

[프로그래머스] 단어 변환(LV3 - Python)

해당 글에서는 단어 변환 문제를 Python을 이용해 풀이하고자 한다. 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 🔷 문제 설명더보기 🔷 문제 풀이처음엔 완전 탐색을 이용해 문제를 푸려고 했다.combination을 이용해 words의 방문 순서를 정하고, 방문 순서에 따라 한 글자씩 차이나는지 아닌지를 통해 모든 경우를 탐색하고 최솟값을 찾으려고 했다. 하지만 시간초과가 발생하는 것을 확인했다. 해당 문제는 알고리즘 고득점 Kit에 있는 문제이기 때문에 카테고리가 깊이/너비 우선 탐색이라는 것을 알고 있었지만, 마땅히 풀이 방식이 떠오르지 않아서 구..

알고리즘/프로그래머스

[프로그래머스] 이중우선순위큐(LV3 - Python)

해당 글에서는 이중우선순위큐 문제를 Python을 이용해 풀이하고자 한다. 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 🔷 문제 설명더보기 🔷 문제 풀이먼저 필자가 풀이한 방식보다 더 효율성이 좋은 알고리즘이 있을 수 있다.나름은 이해하기 쉬운 코드라고 생각하여, 문제가 어려운 사람들을 위해 돕고자 글을 올린다. 해당 문제를 푸려면 min_heap과 max_heap에 대해 알아야 한다.min-heap: 부모노드 값이 자식노드의 값보다 작다.max-heap: 부모노드 값이 자식노드의 값보다 크다.즉, 큐에 삽입된 숫자들 중 최댓값, 최솟값을 구하기 위해서..

알고리즘/프로그래머스

[프로그래머스] 가장 큰 수 (LV2 - JAVA, Python)

해당 글에서는 가장 큰 수 문제를 Python을 이용해 풀이하고자 한다. 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 🔷 문제 설명 🔷 문제 풀이1️⃣ Python 풀이문제 자체는 간단하나, 풀이 방법이 신박해서 글을 작성하게 됐다.처음엔 문제를 보고, 문자열을 내림차순으로 정렬하면 될까 싶었지만 그렇게 하면 문제에서 의도한 것과 같이 정렬이 되지 않는다.[3, 30, 34]를 문자열 내림차순 정렬시 [34, 30, 3]이 된다.문제에 따르면 [34, 3, 30]이 되어야 한다. 그렇다면, 위에서 3이 30보다 ..

알고리즘/프로그래머스

[프로그래머스] 베스트앨범(LV3 - JAVA, Python)

해당 글에서는 베스트앨범 문제를 JAVA와 Python을 이용해 풀이하고자 한다. 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 🔷 문제 설명더보기 🔷 문제 풀이1️⃣ Python 풀이문제 자체는 어렵지 않지만, 구현이 복잡해서 레벨3인 문제가 아닐까 싶다.특히 파이썬에서는 딕셔너리에 대한 정렬을 제공하기 때문에 훨씬 편했다. 해당 문제에서는 카테고리를 통해 해시 문제라는 것을 알았기 때문에, 딕셔너리를 활용해야 함을 알 수 있었다. 딕셔너리를 다음과 같이 정보를 저장하고자 했다.key: genre(stri..

당찬 뱁새
'해설' 태그의 글 목록