본문 바로가기

파이썬9

[백준] 14503 - 로봇 청소기 (Python) (C++) 문제 출처: https://www.acmicpc.net/problem/14503 14503번: 로봇 청소기 로봇 청소기가 주어졌을 때, 청소하는 영역의 개수를 구하는 프로그램을 작성하시오. 로봇 청소기가 있는 장소는 N×M 크기의 직사각형으로 나타낼 수 있으며, 1×1크기의 정사각형 칸으로 나누어 www.acmicpc.net 문제 풀이 : 전형적인 구현문제로 그냥 문제를 이해하고 구현하기만 하면된다. 이런 문제를 풀때 팁은 각각의 동작을 함수로 구현해서 각 동작들이 잘 작동하는지 확인하고 최종적으로 함수의 위치만 잘 사용하면 되는데 나는 귀찮아서 통으로 코딩하긴 하였다.. n,m = map(int,input().split()) robot = list(map(int,input().split())) maps.. 2021. 7. 19.
[백준] 2110 - 공유기 설치 (Python) 문제 출처: www.acmicpc.net/problem/2110 2110번: 공유기 설치 첫째 줄에 집의 개수 N (2 ≤ N ≤ 200,000)과 공유기의 개수 C (2 ≤ C ≤ N)이 하나 이상의 빈 칸을 사이에 두고 주어진다. 둘째 줄부터 N개의 줄에는 집의 좌표를 나타내는 xi (0 ≤ xi ≤ 1,000,000,000)가 www.acmicpc.net 문제 풀이 : 앞서 본 이분탐색과 같은 문제이다. 이런 문제류에서 바뀌는 부분은 찾는 특정값을 비교할때 사용되는 결과값을 구하는 부분인데 여기서는 아마 gap을 구하는 부분만 신경 써주면 될 것이다. 보통 for문으로 구하니까 복잡하지 않은 이분탐색 문제에선 while문 안에 있는 for문을 신경써서 보면 문제가 쉽게 이해가 된다. n, c = m.. 2021. 4. 9.
[종만북] 쿼드 트리 뒤집기(QUADTREE) (Python) 문제 출처 : algospot.com/judge/problem/read/QUADTREE algospot.com :: QUADTREE 쿼드 트리 뒤집기 문제 정보 문제 대량의 좌표 데이터를 메모리 안에 압축해 저장하기 위해 사용하는 여러 기법 중 쿼드 트리(quad tree)란 것이 있습니다. 주어진 공간을 항상 4개로 분할해 재귀적 algospot.com 문제 풀이: 종만북을 읽으면서 풀었기 때문에 문제를 푸는 시점부터 분할-정복 으로 풀어야 한다는 것을 인지하고 풀었다. 분할-정복 문제이므로 두 가지를 먼저 고민해야 했다. 어떻게 문제를 분할할 것인가? 값을 리턴하는 순간들은 무엇인가? 1. 어떻게 문제를 분할 할 것인가? 처음 입출력과 문제의 답을 고려했을 때 막히는 부분은 2가지 였다. 입력되는 값.. 2021. 1. 2.
[백준] 10157- 자리배정 (C++) 문제 출처 : www.acmicpc.net/problem/10157 10157번: 자리배정 첫 줄에는 공연장의 격자 크기를 나타내는 정수 C와 R이 하나의 공백을 사이에 두고 차례대로 주어진다. 두 값의 범위는 5 ≤ C, R ≤ 1,000이다. 그 다음 줄에는 어떤 관객의 대기번호 K가 주어진다. www.acmicpc.net 문제 풀이: 앞서 포스팅한 Python 편에 써놓았다. 실제로 python으로 문제를 풀고 Logic을 그대로 하여 C++로 풀었다. #include #include using namespace std; const int dx[4] = { 1,0,-1,0 }; const int dy[4] = { 0,1,0,-1 }; int maps[1000][1000] = { 0, }; void .. 2020. 12. 30.
반응형