보글보글 개발일지
반응형
[백준/1245][Python] 농장 관리
카테고리 없음 2023. 9. 7. 14:30

문제 https://www.acmicpc.net/problem/1245 1245번: 농장 관리 첫째 줄에 정수 N(1 < N ≤ 100), M(1 < M ≤ 70)이 주어진다. 둘째 줄부터 N+1번째 줄까지 각 줄마다 격자의 높이를 의미하는 M개의 정수가 입력된다. 격자의 높이는 500보다 작거나 같은 음이 아닌 정수 www.acmicpc.net 풀이 BFS로 풀었다. 우선 전체 배열을 탐색하며 방문한 적이 없다면 제일 높은 건지 확인하기 위해 해당 위치에서 BFS를 시작한다. check라는 변수를 통해 인접 지역 중 해당 위치가 가장 높을지 안높을지 체크한다. 높으면 0, 안높으면 1을 반환했다. 큐에 해당 위치를 넣어주고, 8개를 돌며 인접한 곳을 모두 탐색하는데 이때 다음 탐색할 곳의 높이가 현재 ..

[프로그래머스][Python] 타겟넘버
알고리즘 2023. 4. 14. 10:23

문제 https://school.programmers.co.kr/learn/courses/30/lessons/43165?language=python3 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 DFS를 써서 풀었다. 문제 자체는 어렵지 않은데 파이썬이 아직 익숙하지 않아서 global 함수를 다루는 데에 애를 먹었다.. [Python] nonlocal, global로 변수의 scope 변경하기 (파이썬에서 전역변수 사용하기) 👀 다른 scope에 있는 변수를 사용할 때 문제 case 1. 더 넓은 범위에 있는 변수 '읽기'는 가능 아래와 같이 전..

article thumbnail
[백준/1260][C++] DFS와BFS
알고리즘 2022. 11. 2. 13:00

BFS와, DFS의 가장 기본적인 문제인듯 싶다. dfs는 재귀함수로 구현하였고, bfs는 큐를 사용하였다. 먼저 DFS의 경우, 그래프에서 노드간의 연결을 위해 벡터를 사용하였다. 그냥 이차원 배열을 사용해도 좋을 듯 하다. 입력 받으며 벡터에 저장할 때, 해당 그래프가 양방향임을 주의하자 "단, 방문할 수 있는 정점이 여러 개인 경우에는 정점 번호가 작은 것을 먼저 방문" 이라는 문구로 인해 sort가 필수적이다. 그러나 2차원 배열을 통해 1번 노드부터 m번 노드까지 방문하면서 1. 방문한 적이 있는지, 2. x번쨰와 i번째가 연결되어 있는지 확인하는 방식을 사용해도 좋을 듯하다. 다음으로 BFS의 경우, 우선 시작 노드에 방문 표시를 한 뒤, 큐에 푸시한다. 그리고 큐가 빌때 까지 무한 루프 내부..

article thumbnail
[백준/1012번][C++] 유기농 배추
알고리즘 2021. 2. 4. 01:41

www.acmicpc.net/problem/1012 1012번: 유기농 배추 차세대 영농인 한나는 강원도 고랭지에서 유기농 배추를 재배하기로 하였다. 농약을 쓰지 않고 배추를 재배하려면 배추를 해충으로부터 보호하는 것이 중요하기 때문에, 한나는 해충 방지에 www.acmicpc.net BFS를 통해 문제를 해결했다. 주의할 점 2가지가 있는데 1. 가로, 세로 인덱스가 반대로 되어 있다. 2. 각 테스트 케이스마다 보드를 초기화 해 주어야 한다. 나는 1, 2번으로 인해 시간을 굉장히 오래 잡아먹었다. 다른 요소들은 그냥 보통의 BFS에 count를 더한 것이다. #include #include using namespace std; #define X first #define Y second int n,m..

반응형