728x90

BFS 6

프로그래머스 네트워크 문제 풀이/코드, 파이썬, BFS! LV3같지 않은 LV3문제

전체 코드가 궁금한 분은 아래 링크 눌러주세요 ㅎㅅㅎ GitHub - Rhyankwon/algorithms Contribute to Rhyankwon/algorithms development by creating an account on GitHub. github.com 문제 설명 ㄱㄱ 코딩테스트 연습 - 네트워크 네트워크란 컴퓨터 상호 간에 정보를 교환할 수 있도록 연결된 형태를 의미합니다. 예를 들어, 컴퓨터 A와 컴퓨터 B가 직접적으로 연결되어있고, 컴퓨터 B와 컴퓨터 C가 직접적으로 연결되어 있 programmers.co.kr 컴터들이 여러개가 있는데.. 연결 돼있는것도있고 안돼있는 것도 있다고 한다. 컴터가 A, B, C가 있을때 A-B연결돼있고 B-C연결돼있으면 이걸 하나의 네트워크라고 보는데..

백준 18818, iguana instructions 코드/풀이 (이구아나 안내하기), Python, heapq/bfs 풀이

간만에 코테공부 ㅎㅎ 이거 실버1인데 두시간이나 걸렸당... 전에 분명 쉬웠던 유형중 하나가 bfs인데.. 공부좀 다시해야지 자세한 코드가 보고싶은 분은 깃허브 링크 눌러주세용 GitHub - Rhyankwon/algorithms Contribute to Rhyankwon/algorithms development by creating an account on GitHub. github.com 문제 설명 ㄱㄱ 18818번: Iguana Instructions Iggy the Iguana has found himself trapped in a corn maze! The corn maze can be modelled as a square grid where some of the cells are blocked..

현대차 소프티어 [인증평가(1차) 기출] 차세대 지능형 교통시스템 풀이/코드 (파이썬), 까다로운 구현 문제

문제 코드만 궁금한 분은 깃허브 링크 눌러주세요! GitHub - Rhyankwon/algorithms Contribute to Rhyankwon/algorithms development by creating an account on GitHub. github.com 문제 설명 ㄱㄱ Softeer Problem을 담을 Box를 선택해 주세요. 취소 확인 softeer.ai 문제 이해 자체가 조금 복잡한 문제이다. 현대자동차는 매번 약간 까다로운 구현을 요하는 문제를 내는 것 같고, 문제 이해도 쉽지 않은 것들이 다소 있다. 이 문제도 처음 봤을 때 이해하는데에만 시간이 꽤 걸렸다. 대충 말하자면 각 교차로마다 정해진 신호등이 4개씩 있는데 시간에 따라 다른 신호등을 이용할 수 있다. 출발점과 출발 방향,..

백준 12869 뮤탈리스크 풀이 (파이썬) dfs는 안되고 bfs는 되는 dp문제

코드만 궁금한 분은 깃허브 링크 눌러주세요..! 일단 나는 이 문제를 처음에 dfs로 풀었었다. 근데 아무리 해도 안돼서;(특히 25%에서 계속 안됨) 이유를 생각해봤다. 문제에서 경우의수가 너무 많은 만큼 dp로 3차원 리스트를 만들어서 이미 확인한 경우는 확인 안 하는 식으로 해서 문제를 풀어야 한다. 근데 이 때 이미 확인 안하는 것은, 이전에 확인한게 최선이라는 확답이 있는 경우에만 가능하다. 그런데 dfs로 문제를 풀면 그때까지의 계산 횟수가 얼마이든간에 우선적으로 많은 부분을 방문하게 되고, 이후에 계산 횟수가 더 적게 같은 상태에 도달할 수 있더라도 그 부분을 방문하지 않아버림으로 인해 오류가 나게 된다. dfs라도 방문/비방문 리스트가 아니라 어떤 값의 쌍까지 오는데에 걸린 계산횟수를 저장..

프로그래머스 단어 변환 문제 해설/코드 (파이썬), BFS활용문제

코드만 궁금한 분은 깃허브링크 눌러주세요! GitHub - Rhyankwon/algorithms Contribute to Rhyankwon/algorithms development by creating an account on GitHub. github.com 문제 설명 문제 해결 논리 1. 주어진 단어들을 키로 하고 값은 False를 갖는 딕셔너리를 만든다. 2. 입력받은 단어들 중 시작 단어와 문자가 1개만 차이나는 단어를 모두 찾아내서 3. 아까 딕셔너리에서 지금 찾은 단어들의 값을 True로 바꾸고 4. 큐에 넣는데, 이 때 지금 찾은 단어만 넣는게 아니라 지금 몇번째 단계인지를 같이 입력한다. 5. 큐에서 단어를 새로 빼고 2~4를 반복한다. 이 때 아직 한번도 나오지 않은 단어들만 (딕셔너리에..

백준 12851 숨바꼭질 2 문제 풀이/해설/코드 (파이썬) 생각보다 간단한 큐, bfs 문제

코드만 궁금한 분은 깃허브링크 GitHub - Rhyankwon/algorithms Contribute to Rhyankwon/algorithms development by creating an account on GitHub. github.com 문제 설명은 스킵! 개인적으론 문제 이해는 쉬운데 풀기는 조금 까다로웠달까.. 문제 해결 논리 1. 큐에 0, 시작값 넣기. 0을 넣는 이유는 연산의 수를 기록해야하기때문. 2. 큐에서 시작값을 빼고 거기에 -1, +1, *2 한 값을 다시 큐에 넣는다. 이 때 1을 같이 넣어준다.(연산 횟수 = 0 + 1 = 1) 3. 2번을 반복하는데 이 때 힙을 사용해서 연산횟수가 작은 순서대로 꺼낸다.(우선순위 큐) 4. 이렇게 하면n번의 횟수만에 시작값에서 우리가 원..

728x90