728x90 ALGORITHM/BAEKJOON42 [BOJ/Python] 17471. 게리맨더링 📌 문제 https://www.acmicpc.net/problem/17471 17471번: 게리맨더링 선거구를 [1, 4], [2, 3, 5, 6]으로 나누면 각 선거구의 인구는 9, 8이 된다. 인구 차이는 1이고, 이 값보다 더 작은 값으로 선거구를 나눌 수는 없다. www.acmicpc.net 📌 문제 접근 방법 N개의 구역을 조합을 이용해서 2개의 선거구로 나눈다. 각 선거구를 bfs를 통해 탐색해서 모든 구역에 방문할 수 있는지 체크한다. 여기서, 선거구에 있는 구역만 탐색을 하는 것이 포인트! (w in group → 이걸 처리 안해줘서 실패가 나왔음!) 2개의 선거구 모두 선거구 안의 모든 구역에 방문할 수 있다면, 인구 수의 차이를 구하고 최소값으로 갱신한다. 📌 코드 # 백준 17471 .. 2021. 10. 13. [BOJ/Python] 14503. 로봇 청소기 📌 문제 https://www.acmicpc.net/problem/14503 14503번: 로봇 청소기 로봇 청소기가 주어졌을 때, 청소하는 영역의 개수를 구하는 프로그램을 작성하시오. 로봇 청소기가 있는 장소는 N×M 크기의 직사각형으로 나타낼 수 있으며, 1×1크기의 정사각형 칸으로 나누어 www.acmicpc.net 📌 문제 접근 방법 바보같이 문제 파악을 잘 못해서 어어어어엄청 헤맸다😣 문제를 찬찬히 살펴보자면, 1) 현재 위치를 청소한다. 2) 현재 위치에서 왼쪽 방향부터 차례로 인접한 칸을 탐색한다. 2-1) 청소할 공간이 있다면, 해당 방향(청소할 공간의 방향)으로 회전하여 전진한다. 2-2) 네 방향 모두 청소할 수 없다면, 바라보는 방향(마지막으로 탐색한 방향)을 유지한 채로 후진한다. .. 2021. 10. 13. [BOJ/Python] 5556. 타일 📌 문제 https://www.acmicpc.net/problem/5556 5556번: 타일 상근이는 타일로 작품을 만드는 예술가이다. 크기가 N × N인 작품을 만들기 위해서 상근이는 1 × 1 타일을 사용한다. 색상은 빨강, 파랑, 노랑 중 하나이다. 작품은 가장 바깥쪽에 빨간색을 붙이 www.acmicpc.net 📌 문제 접근 방법 처음엔 타일의 인덱스를 받아서 타일이 바깥쪽에서 얼마나 안으로 들어와있는지를 num을 통해서 구했다. → 시간초과 시간초과가 나고 N의 범위를 보니, 타일의 인덱스를 받자마자 거기서 계산해서 바로 나와야 하는 것 같았다. 우선, 타일의 인덱스를 타일의 중심을 기준으로 왼쪽 위부분만 고려하도록 인덱스를 변형해줬다. 왼쪽 위 부분만 본다면, 한 행에 i개의 색깔을 쓸 수 있.. 2021. 10. 9. [BOJ/Python] 2579. 계단 오르기 📌 문제 https://www.acmicpc.net/problem/2579 2579번: 계단 오르기 계단 오르기 게임은 계단 아래 시작점부터 계단 꼭대기에 위치한 도착점까지 가는 게임이다. 과 같이 각각의 계단에는 일정한 점수가 쓰여 있는데 계단을 밟으면 그 계단에 쓰여 있는 점 www.acmicpc.net 📌 문제 접근 방법 첫 번째 칸을 밟는 경우, 최대값은 첫 번째 칸의 점수 두 번째 칸을 밟는 경우, 최대값은 첫 번째 칸 + 두 번째 칸의 점수 세 번째 칸을 밟는 경우, 첫 번째 칸 + (2칸 이동) 세 번째 칸 두 번째 칸 + (1칸 이동) 세 번째 칸 i번째 칸을 밟는 경우, i-3번째 칸 + (2칸 이동) i-1번째 칸 + (1칸 이동) i번째 칸 i-2번째 칸 + (1칸 이동) i번째 칸 .. 2021. 10. 8. 이전 1 2 3 4 5 6 7 8 ··· 11 다음 728x90