본문 바로가기

알고리즘5

[프로그래머스] PCCP 기출문제 2번 https://school.programmers.co.kr/learn/courses/30/lessons/250136 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 가장 많은 기름을 뽑을 수 있는 양을 찾는 문제. 1. 접근 처음 이 문제를 봤을 때, 지점을 순회하면서 BFS나 DFS를 활용해서 얻을 수 있는 기름의 총량의 최대치를 반환해 지속적으로 answer 값을 갱신하고자 했다. 2. 초기 코드 import copy def checker(land, start, depth, width): value = 0 move = [[0, 1], [1, 0], [0.. 2023. 11. 28.
[프로그래머스] 혼자서 하는 틱택토 https://school.programmers.co.kr/learn/courses/30/lessons/160585# 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 주어진 틱택토 게임 정보가 정상적으로 진행 중이거나 완료되었는지 확인하는 문제. 1. 접근 방법 - 1 아직 시작하지 않았거나, 진행중인 게임 정보가 존재하는 경우가 있으니 선공과 후공 중 누가 이겼는지 판단하기 보다 해당 판의 정보가 올바른지 확인해야 한다. 판을 순회하며 선공 표식과 후공 표식의 개수를 먼저 세본 후 일반적인 경우 1. 후공의 표식이 선공보다 많을 수 없고 2. 선공과 후공.. 2023. 11. 22.
[프로그래머스] 피로도 https://school.programmers.co.kr/learn/courses/30/lessons/87946 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 모든 경우의 수를 확인하면서, 가장 많은 던전을 들어갈 때를 확인하는 문제. 입장 조건이 존재하므로, 순서를 고려하는 기능을 구현하여 확인해야 한다. 1. 접근 방법 선택 처음에는 다양한 순서를 고려할 수 있는 DFS로 진행하려고 했으나, 방문 여부 등 추가적으로 넘겨줘야 하는 변수들이 생각나서 너무 많은 수를 넘겨주다보면 메모리 초과가 발생하지 않을까 해서 재귀 함수로 푸는 방법을 선택. 2. .. 2023. 11. 17.
[프로그래머스] 과제 진행하기 https://school.programmers.co.kr/learn/courses/30/lessons/176962 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 시간 순서에 맞춰 과제를 진행하되, 새로운 과제를 시작할 시간이 된다면, 진행중인 과제를 잠시 중단하고 새로운 과제를 시작한다. 현재 과제 완료 후 멈춰둔 과제가 있다면, 마지막으로 멈춘 과제부터 마저 진행하되, 과제 진행 우선 순서는 새로운 과제가 우선이다. 1. 접근 보통 일정과 관련된 문제들은 heap 을 활용하여 진행하는 것이 개인적으로 편해서 heap 을 사용하기로 했고 이 문제의 경우.. 2023. 11. 16.
[프로그래머스] 숫자 블록 문제 - 숫자 블록 https://school.programmers.co.kr/learn/courses/30/lessons/12923 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 시작하는 (begin) 블록 부터 끝나는 (end) 블록 까지 각각 어떤 수로 구성되어있는지 확인하는 문제다. 예제인 1 ~ 10을 보고 나서 자기 자신을 제외한 공약수 중에서 가장 큰 공약수를 구하면 되겠다고 생각했다. 지점 7의 경우 공약수가 [1, 7] 로 구성되어있고, 이 중 7 은 2의 배수인 14에서 처음 등장할 예정이기 때문에 7을 제외한 1이, 지점 8의 경우, .. 2023. 11. 15.