본문 바로가기
728x90
반응형

Python3173

2022.02.13 [백준] (python 파이썬) 숨바꼭질 https://www.acmicpc.net/problem/1697 1697번: 숨바꼭질 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 www.acmicpc.net 풀이 이 문제는 n점에서 부터 k점까지 이동할 때의 최단거리를 구하는 문제이므로 bfs를 이용했다. 처음 이동할 수 있는 경우를 하나하나 다 따로 작성 후 조건도 따로 했다. 코드를 제출 후 다른사람의 코드를 구글링하다가 이동할 수 있는 경우를 for문의 반복범위로 두고 하면 코드가 짧아지는 것을 알게 되었고 줄여보았다. 1 2 3 4 5 6 7 8 9 10 11 12 .. 2022. 2. 13.
2022.02.13 [백준] (python 파이썬) 유기농 배추 https://www.acmicpc.net/problem/1012 1012번: 유기농 배추 차세대 영농인 한나는 강원도 고랭지에서 유기농 배추를 재배하기로 하였다. 농약을 쓰지 않고 배추를 재배하려면 배추를 해충으로부터 보호하는 것이 중요하기 때문에, 한나는 해충 방지에 www.acmicpc.net 풀이 아래 코드는 bfs를 이용하여 해결했다. 입력받은 크기 만큼 arr2차원배열을 생성했고 배추가 있는 좌표에 1을 넣어주었다. 그리고 나중에 2중 for문을 돌리지 않기 위해 배추의 좌표를 미리 cab배열에 담아 주었다. 각 좌표를 모두 입력 받은 후 for문을 돌려 cab의 담긴 좌표의 arr값이 1이면 bfs함수를 호출했다. bfs함수가 끝나면 배추가 모여있는 집단의 arr값을 모두 0으로 바꿨으므로 .. 2022. 2. 13.
2022.02.13 [백준] (python 파이썬) 연결 요소의 개수 https://www.acmicpc.net/problem/11724 11724번: 연결 요소의 개수 첫째 줄에 정점의 개수 N과 간선의 개수 M이 주어진다. (1 ≤ N ≤ 1,000, 0 ≤ M ≤ N×(N-1)/2) 둘째 줄부터 M개의 줄에 간선의 양 끝점 u와 v가 주어진다. (1 ≤ u, v ≤ N, u ≠ v) 같은 간선은 한 번만 주 www.acmicpc.net 풀이 아래의 코드는 bfs를 이용해서 각 정점의 방문 유무를 체크할 배열을 만들고, 이 문제에서 간선과 정점의 방향성은 없기 때문에 graph배열에 해당 정점의 인덱스에서 갈 수 있는 정점을 데이터로 넣어줍니다. 그 다음 for문을 돌려 check[i]가 0이면 방문하지 않은 곳이기 때문에 bfs함수를 실행시켜줍니다. 1 2 3 4 5.. 2022. 2. 13.
2022.02.13 [백준] (python 파이썬) 단지번호붙이기 https://www.acmicpc.net/problem/2667 2667번: 단지번호붙이기 과 같이 정사각형 모양의 지도가 있다. 1은 집이 있는 곳을, 0은 집이 없는 곳을 나타낸다. 철수는 이 지도를 가지고 연결된 집의 모임인 단지를 정의하고, 단지에 번호를 붙이려 한다. 여 www.acmicpc.net 풀이 bfs풀이 방식입니다. 2중 for문을 돌려 arr배열에 값이 1인 곳을 찾고 찾은 곳부터 bfs탐색을 합니다. bfs탐색이 끝나면 마을 1개가 생기게 됩니다. bfs함수를 돌때 deq에 데이터가 추가 될때마다 cnt를 1씩 더해줘서 한 마을의 총 집의 개수를 세주고 이 갯수를 ans배열에 담은 후, 모든 계산이 끝난 후 배열을 sort로 정렬하여 출력합니다. 1 2 3 4 5 6 7 8 9 .. 2022. 2. 13.
728x90
반응형