알고리즘/프로그래머스

알고리즘/프로그래머스

[프로그래머스] 입국심사(LV3 - Python)

해당 글에서는 입국심사 문제를 Python을 이용해 풀이하고자 한다. 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 🔷 문제 설명더보기이 문제는 이분탐색에 관련된 문제다.코딩테스트를 보기에 앞서 평소에 이분탐색 문제인 것을 알아내는데 어려움을 느껴 연습하는 시간을 가지고자 해당 문제를 풀게 됐다. 🔷 문제 풀이만약 이 문제가 이분탐색인 문제라는 걸 몰랐다면 어떻게 접근했어야 할까?이분탐색이라는 것의 힌트는 바로 입력의 크기이다. 해당 문제에서 입국심사를 기다리는 사람의 최댓값과 한 명을 심사하는데 걸리는 최대 시간은 1,000,000,000이다. 따라서 ..

알고리즘/프로그래머스

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

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

알고리즘/프로그래머스

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

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

알고리즘/프로그래머스

[프로그래머스] 섬 연결하기(LV3 - Python)

해당 글에서는 섬 연결하기 문제를 Python을 이용해 풀이하고자 한다. 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 🔷 문제 설명더보기 🔷 문제 풀이사실 누가 봐도 최소 신장 알고리즘으로 풀이하는 문제이다. n개의 섬이 모두 연결되도록 다리가 연결이 돼야 하며, 최소 비용이 돼야하기 때문이다.하지만 이 문제를 처음 마주했을 때, 최소 신장 알고리즘을 알지도 못했다. 분명히 학부 수업에서 배웠으나 기억조차 나지 않았다. 따라서 다시 공부하는 시간을 가졌다. 혹시나 크루스칼 알고리즘을 모른다면 아래의 글을 참고하도록 하자. [알고리즘] 크루스칼 알고리즘이..

당찬 뱁새
'알고리즘/프로그래머스' 카테고리의 글 목록