본문 바로가기

프로그래머스69

[PRGRMS]1844번: 게임 맵 최단거리 문제: https://programmers.co.kr/learn/courses/30/lessons/1844 기본 BFS문제입니다. 매 탐색마다 4방향을 탐색해서 진행할 수 있는지 체크해줍니다. 상태배열(visited)을 만들어 해당 칸을 이전에 방문한 적 있는지 표시하여 중복방문을 막습니다. 모든 칸을 방문했는데도 (n,m)에 도달하지 못했다면 갈 방법이 없는 것이므로 -1을 반환합니다. 코드: https://github.com/cotchan/algorithm/blob/main/PRGRMS/%EA%B2%8C%EC%9E%84%20%EB%A7%B5%20%EC%B5%9C%EB%8B%A8%EA%B1%B0%EB%A6%AC.java 2022. 3. 11.
[PRGRMS]67258번: 보석 쇼핑 문제: https://programmers.co.kr/learn/courses/30/lessons/67258 투 포인터로 해결할 수 있는 문제입니다. 구간의 시작점(st)과 구간의 끝점(en)에 있는 모든 보석을 구매합니다. st값이 1씩 증가할 때 마다 이전 st값이 가리키는 인덱스에 있던 보석을 지웁니다. en값이 1씩 증가할 때 마다 새로운 en값이 가리키는 인덱스에 있는 보석을 더합니다. 단, 예외 케이스를 신경써야하는 부분이 있습니다. 1. 구간의 시작점에 있는 보석을 2개이상 가지고 있는 경우, 구간의 크기를 하나 줄여도(구간의 시작점 + 1) 보석의 구매상태는 변하지 않으므로 구간 크기를 줄일 수 있습니다. 2. 모든 보석을 구매한 경우 구간의 시작점 + 1을 하여 다음 정답 구간이 존재하는.. 2022. 3. 4.
[PRGRMS]81302번: 거리두기 확인하기 문제: https://programmers.co.kr/learn/courses/30/lessons/81302 시뮬레이션 문제입니다. N제한이 작으므로 완전 탐색을 통해 해결합니다. BFS를 사용하여 지원자들간의 거리를 구하였고 맨헤튼 거리가 2이하인 경우만 표시해주면 됩니다. 코드: https://github.com/cotchan/algorithm/blob/main/PRGRMS/%EA%B1%B0%EB%A6%AC%EB%91%90%EA%B8%B0%20%ED%99%95%EC%9D%B8%ED%95%98%EA%B8%B0.java 2022. 3. 3.
[2020 카카오 기출] 기둥과 보 설치(JAVA) 문제: https://programmers.co.kr/learn/courses/30/lessons/60061 sooooooyn님의 솔루션으로 해결하였습니다. (https://sooooooyn.tistory.com/32) 기둥과 보를 설치/삭제 시에 어떻게 따져주는 지에 따라 난이도가 달라지는 문제입니다. 서치했던 솔루션 중에 굉장히 심플한 솔루션이라고 생각합니다. 간단하게 두 가지로 모든 경우를 처리합니다. 1. kidoong[N][N], bo[N][N] 으로 기둥과 보를 표현 2. 삭제 입력이 들어오면 일단 삭제 시켜본 후에, 삭제 시킨 좌표와 연관이 있는 기둥이나 보가 설치 불가능하다고 판정이 나는 경우 롤백시킵니다. 코드: https://github.com/cotchan/algorithm/blob/.. 2021. 7. 1.