목록알고리즘 (32)
이우의 개발일지

백준 11724번 BFS 11724번 BFS 풀이이 문제는 일반적인 BFS 형식과는 조금 달라서 헤맸다. 상하좌우 탐색이 아닌, 모든 정점을 탐색해야해서 DFS로의 풀이도 가능하다. 모든 탐색을 해야해서 vector 함수를 이용해서 들어오는 인자값들을 입력해줬다. 한방향이 아니라 양방향이라 두 개다 넣어준 것이다. for (int i = 0; i > u >> v; vec[u].push_back(v); vec[v].push_back(u); } BFS 함수안 형식도 비슷하지만, 역시나 vector의 사이즈와 들어있는 인자값을 통해 조절해주는 포인트가 중요하다. 탐색시 vis라는 방문 인자를 1로 바꿔주는 것도 중요하다. 11724 백준 전체코드 #include #include #include usi..

백준 1012번 BFS 유기농 배추 1012번 유기농 배추 풀이이 문제는 일반적인 BFS 코드에서 약간의 응용을 가미한 코드이다. 순차적으로 모든 x,y 를 살펴보면서 만약 1이면 그 근처에 있는 1인 구간을 다 탐색한 뒤, 다시 순차적으로 x,y를 탐색하는 구조이다. 이 문제의 특이한 점은 BFS를 테스트케이스로 줘서 초기화 시켜줘야한다는 점이다. 이 부분에서 약간 당황했는데int board[502][502]; // 값이 1인 곳bool vis[502][502]; // 방문 여부, 방문 했으면 1 안했으면 0 이 부분을 for 문 안에 가져오면 에러가 뜨기 때문에, for문에서 다시 이 값들을 초기화해줘야 했다. for (int i = 0; i 이런식으로 fill 함수를 써서 board와 vis를..

프로그래머스 달리기 경주 https://school.programmers.co.kr/learn/courses/30/lessons/178871 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 문제 설명 얀에서는 매년 달리기 경주가 열립니다. 해설진들은 선수들이 자기 바로 앞의 선수를 추월할 때 추월한 선수의 이름을 부릅니다. 예를 들어 1등부터 3등까지 "mumu", "soe", "poe" 선수들이 순서대로 달리고 있을 때, 해설진이 "soe"선수를 불렀다면 2등인 "soe" 선수가 1등인 "mumu" 선수를 추월했다는 것입니다. 즉 "soe" 선수가 1등, "..