본문 바로가기

728x90

4방탐색

[프로그래머스] PCCP 기출문제 2번 (석유 시추) / 자바(Java) 문제 https://school.programmers.co.kr/learn/courses/30/lessons/250136 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 해설 PCCP의 기출문제로 석유시추라는 이름을 가진 문제입니다. 제한 사항에 정확성과 효율성을 확인하는 부분이 있어 조건에 맞도록 구현 뿐 아니라 가능한 효율적이도록 코드를 짜야합니다. 시추관은 특정 열을 모두 관통하는데 해당 열에 포함된 석유 덩어리를 모두 시추가 가능합니다. 하나의 시추관을 사용할 때 시추가능한 최대 석유의 양을 구하는 문제입니다. 문제를 해결하기 위해선 각 열별로 시추.. 더보기
[백준] 1987 알파벳 / 자바(Java) 문제 https://www.acmicpc.net/problem/1987 1987번: 알파벳 세로 $R$칸, 가로 $C$칸으로 된 표 모양의 보드가 있다. 보드의 각 칸에는 대문자 알파벳이 하나씩 적혀 있고, 좌측 상단 칸 ($1$행 $1$열) 에는 말이 놓여 있다. 말은 상하좌우로 인접한 네 칸 중의 www.acmicpc.net 해설 2차원배열에서 4방탐색을 통해 가장 많이 가는 횟수 찾기 문제입니다. 특이한 점은 다른 문제처럼 숫자가 아닌 알파벳으로 2차원 배열이 구성되어있고, 특정 위치의 방문여부가 아닌 특정 알파벳을 방문했는가에 따라 추가탐색의 가능 여부가 갈립니다. 문자열이 아닌 알파벳의 방문여부이기 때문에 map을 사용하지 않고 26까지 있는 1차원 배열을 통해 index 0의 값은 A, ind.. 더보기
[프로그래머스] 리코쳇 로봇 / 자바(Java) 문제 https://school.programmers.co.kr/learn/courses/30/lessons/169199 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 해설 2차원배열에서의 4방탐색과 bfs를 통해 목표까지의 최단 횟수를 구하는 문제입니다. bfs를 구현하기 위해 큐를 사용합니다. 큐에는 특정 좌표(r,c)를 담는 1차원 배열을 넣어줍니다. 여기서 중요한점! 여러번 이동하다 이전에 갔던 곳을 표시하는 boolean 2차원 배열이 필요합니다. 목표까지의 최단 횟수를 구하기 때문에 이전에 갔던 곳을 간다면 목표로 도달하는데 그 곳보다 무조건 .. 더보기
[프로그래머스] 무인도 여행 / 자바(Java) 문제 https://school.programmers.co.kr/learn/courses/30/lessons/154540 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 해설 상하좌우로 연결된 같을 모두 더하고 떨어져있는 요소들을 오름차순으로 정렬하면되는 간단한 4방탐색와 완전탐색을 섞은 문제입니다. 3가지 코드들을 이용해 문제를 해결할 수 있습니다. 입력을 다루기 쉽게 2차원 배열로 생성(map) 4방탐색을 시작할 위치를 반복을 통해 선정 4방탐색과 BFS 리스트를 배열로 변환, 정렬 1번. 입력을 다루기 쉽게 2차원 배열로 생성 문제에서 주어진 maps.. 더보기

728x90