문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/43163 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 💡 풀이 단어를 변환하며 begin에서 시작해 target까지 도달할 수 있는 최단 거리를 구하는 문제입니다. 따라서, 다음과 같은 단계를 통해 문제를 해결했습니다. 단어들이 있는 `words` 배열을 탐색하며 서로 변환 가능한 단어들 연결하기 이때, 단어 변환이 가능한 경우는 1 글자만 다른 경우입니다. 이 조건을 이용해 서로 변환이 가능한지 확인한 뒤, 가능하다면 인덱스 번호로 단어..
문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/64062 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 💡 풀이 처음 풀이 방식은 stones 배열의 값을 1씩 줄여 나아가면서 건널 수 있는지 확인하는 완전탐색을 이용했습니다. 하지만, 효율성 테스트에서 실패하게 됩니다. 따라서 다음과 같은 방법이 필요합니다. 이진 탐색 이진 탐색을 이용하여 풀이합니다. k의 범위는 1부터 stones의 길이까지이기 때문에, stones의 모든 원소가 0이 된다면, 건널 수 없게 됩니다. 따라서, 0부터 ..
문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/72412 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 💡 풀이 주어진 info 값과 query문을 하나씩 비교해서 풀었더니, 효율성 검사에서 통과하지 못했습니다. 시간초과가 발생한 것이죠. 따라서, info를 탐색해 매 info마다 가능한(포함될 수 있는) 모든 경우의 수를 map의 key로 넣고, value에는 점수를 넣어 query에서 탐색하는 방법을 이용합니다. 이때, query에서 제시한 점수 이상인 info들의 값을 구하기 때문에..
문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/72413 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 💡 풀이 문제를 읽어보면, 도착 지점까지 가기 위한 최단거리를 구해야 하는 것에서 다익스트라를 떠올릴 수 있지만, 어느 지점까지 같이 이동한 후, 도착점 A, B로 이동하게 된다(물론, 아닌 경우도 있지만). 따라서, 한 지점에서 모든 지점까지의 최단거리를 구하는 것을 넘어서(다익스트라), 모든 지점에서 다른 모든 지점까지의 최단 경로를 모두 구해야 한다. 이때, 플로이드-워셜 알고리즘..