BFS
-
[백준 2589] 보물섬 - bfs,너비탐색 알고리즘, javascript,nodejs알고리즘/코딩 테스트 2023. 2. 17. 15:17
문제 : https://www.acmicpc.net/problem/2589 2589번: 보물섬 첫째 줄에는 보물 지도의 세로의 크기와 가로의 크기가 빈칸을 사이에 두고 주어진다. 이어 L과 W로 표시된 보물 지도가 아래의 예와 같이 주어지며, 각 문자 사이에는 빈 칸이 없다. 보물 지도의 www.acmicpc.net 알고리즘 : 1. 이 문제는 전형적인 bfs 문제이지만 시작 지점을 모두 검사해보아야 한다. 2. 따라서 2중 for문을 돌면서 거리 탐색을 한다. 문제풀이 : 1. 입력값에서 row와 col, map,dist를 설정한다. const [row , col] = input[0].split(' ').map(Number) const map = input.slice(1).map(v=>v.split('..
-
[백준 7562] 나이트의 이동 - bfs, 너비탐색 알고리즘, javascript, node.js알고리즘/코딩 테스트 2023. 2. 17. 11:46
문제 : https://www.acmicpc.net/problem/7562 7562번: 나이트의 이동 체스판 위에 한 나이트가 놓여져 있다. 나이트가 한 번에 이동할 수 있는 칸은 아래 그림에 나와있다. 나이트가 이동하려고 하는 칸이 주어진다. 나이트는 몇 번 움직이면 이 칸으로 이동할 수 www.acmicpc.net 알고리즘 : 1. 이 문제는 전형적인 bfs 문제이다. 2. 출발지부터 하나씩 나이트를 이동시켜 최소 횟수를 출력시키면 된다. 3. 횟수를 셀때는 visit[ny][nx] = visit[y][x] + 1 로 설정해서 이동횟수를 설정해야 한다. 문제 풀이 : 1. input 에서 각각의 테스트 별로 n, 현재 위치, 목표 위치를 저장한다. for (let i=0;iArray.from({len..
-
[코딩테스트] Softeer javascript - 금고털이, 장애물 인식 프로그램, 지도 자동구축, 전광판알고리즘/코딩 테스트 2023. 2. 3. 22:16
금고털이 문제 루팡은 배낭을 하나 메고 은행금고에 들어왔다. 금고 안에는 값비싼 금, 은, 백금 등의 귀금속 덩어리가 잔뜩 들어있다. 배낭은 W ㎏까지 담을 수 있다. 각 금속의 무게와 무게당 가격이 주어졌을 때 배낭을 채울 수 있는 가장 값비싼 가격은 얼마인가? 루팡은 전동톱을 가지고 있으며 귀금속은 톱으로 자르면 잘려진 부분의 무게만큼 가치를 가진다. 문제풀이 - 귀금속 배열을 가격순으로 정렬한다. - 귀금속 가격이 높은 무게씩 베낭에 넣는다. 장애물 인식 프로그램 https://softeer.ai/practice/info.do?idx=1&eid=409 Softeer 연습문제를 담을 Set을 선택해주세요. 취소 확인 softeer.ai 문제 설명 자율주행팀 SW 엔지니어인 당신에게 장애물과 도로를 인..
-
[코딩테스트 javascript] 여행경로 - BFS,DFS , 그래프 탐색 알고리즘, 너비탐색알고리즘,깊이탐색알고리즘알고리즘/코딩 테스트 2023. 2. 1. 21:44
여행경로 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 주어진 항공권을 모두 이용하여 여행경로를 짜려고 합니다. 항상 "ICN" 공항에서 출발합니다. 항공권 정보가 담긴 2차원 배열 tickets가 매개변수로 주어질 때, 방문하는 공항 경로를 배열에 담아 return 하도록 solution 함수를 작성해주세요. 제한사항 모든 공항은 알파벳 대문자 3글자로 이루어집니다. 주어진 공항 수는 3개 이상 10,000개 이하입니다. tickets의 각 행 [a, b]는 a 공항에서 b 공항으로 가는 항공권이 있다는 의미입니다. 주어진 항공권은 모두 사용..
-
[코딩테스트 javascript] 단어변환 - BFS , 그래프 탐색 알고리즘, 너비탐색알고리즘알고리즘/코딩 테스트 2023. 1. 30. 21:04
단어변환 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 두 개의 단어 begin, target과 단어의 집합 words가 있습니다. 아래와 같은 규칙을 이용하여 begin에서 target으로 변환하는 가장 짧은 변환 과정을 찾으려고 합니다. 1. 한 번에 한 개의 알파벳만 바꿀 수 있습니다. 2. words에 있는 단어로만 변환할 수 있습니다. 예를 들어 begin이 "hit", target가 "cog", words가 ["hot","dot","dog","lot","log","cog"]라면 "hit" -> "hot" -> "dot" -> "dog..
-
[코딩테스트 javascript] 게임 맵 최단거리 - BFS , 그래프 탐색 알고리즘알고리즘/코딩 테스트 2023. 1. 30. 15:26
게임 맵 최단거리 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 ROR 게임은 두 팀으로 나누어서 진행하며, 상대 팀 진영을 먼저 파괴하면 이기는 게임입니다. 따라서, 각 팀은 상대 팀 진영에 최대한 빨리 도착하는 것이 유리합니다. 지금부터 당신은 한 팀의 팀원이 되어 게임을 진행하려고 합니다. 다음은 5 x 5 크기의 맵에, 당신의 캐릭터가 (행: 1, 열: 1) 위치에 있고, 상대 팀 진영은 (행: 5, 열: 5) 위치에 있는 경우의 예시입니다. 위 그림에서 검은색 부분은 벽으로 막혀있어 갈 수 없는 길이며, 흰색 부분은 갈 수 있는 길입니..
-
[코딩테스트 javascript] 안전지대 - DFS , BFS, 그래프 탐색 알고리즘알고리즘/코딩 테스트 2023. 1. 26. 14:26
안전지대 https://school.programmers.co.kr/learn/courses/30/lessons/120866 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 다음 그림과 같이 지뢰가 있는 지역과 지뢰에 인접한 위, 아래, 좌, 우 대각선 칸을 모두 위험지역으로 분류합니다. 지뢰는 2차원 배열 board에 1로 표시되어 있고 board에는 지뢰가 매설 된 지역 1과, 지뢰가 없는 지역 0만 존재합니다. 지뢰가 매설된 지역의 지도 board가 매개변수로 주어질 때, 안전한 지역의 칸 수를 return하도록 solution 함수를 완성..
-
[알고리즘] 그래프 탐색 알고리즘 - BFS, DFS알고리즘 2023. 1. 26. 12:16
오늘은 비선형 구조 중 그래프를 탐색하는 알고리즘을 배워볼 시간이다. 더보기 자료구조 : '데이터의 저장'을 담당하는 것을 말한다. 분류 선형 구조 ) 리스트 , 큐, 스택 비선형 구조 ) 그래프, 트리 파일 구조 ) 순차 파일, 색인 파일, 직접파일 단순 구조 ) 정수, 실수, 문자, 문자열 알고리즘 : 표현 및 저장된 데이터를 대상으로 하는 '문제 해결 방법'을 말한다. 그래프 탐색 알고리즘 그래프 - 여러 개체들이 연결되어 있는 자료구조 탐색 - 특정 개체를 찾기 위한 알고리즘 예시 1. 경로 탐색 ( 최단거리 , 시간) 2. 네트워크 (연결) 3. 조합 (모든 조합 찾기) DFS 깊이 우선 탐색 알고리즘 stack을 이용 => list의 경우 push(), pop()을 이용 const graph ..