728x90 알고리즘/[python] 백준 BOJ328 [python] 백준 1726 로봇 https://www.acmicpc.net/problem/1726 1726번: 로봇 많은 공장에서 로봇이 이용되고 있다. 우리 월드 공장의 로봇은 바라보는 방향으로 궤도를 따라 움직이며, 움직이는 방향은 동, 서, 남, 북 가운데 하나이다. 로봇의 이동을 제어하는 명령어는 www.acmicpc.net 문제 해결 BFS를 이용해서 새로운 길을 가면서 최소 거리를 찾는 것은 쉽게 알 수 있다. 그러나 방향을 좌, 우로 90도만큼 트는 것을 생각해야하고 직선으로 1칸부터 3칸까지 갈 수 있다는 것을 생각해야한다. visited에 바라보는 방향까지 포함시켜서 3차원 리스트로 저장을 하도록 한다. 회전은 90도만 가능하므로 동,서일 때는 남,북으로 회전 가능하고 남,북일 대는 동,서 방향으로 회전 가능하다. 중간.. 2023. 11. 22. [python] 백준 18808 스티커 붙이기 https://www.acmicpc.net/problem/18808 18808번: 스티커 붙이기 혜윤이는 최근에 다양한 대회를 참여하면서 노트북에 붙일 수 있는 스티커들을 많이 받았다. 스티커는 아래와 같이 사각 모눈종이 위에 인쇄되어 있으며, 스티커의 각 칸은 상하좌우로 모두 연 www.acmicpc.net 문제 해결 스티커를 붙이는 방법이 상세하게 나왔다. 최대한 있는 그대로 붙이려 하되, 안되면 90 오른쪽으로 회전해가며 붙여보고 그래도 안붙여지면 버리고 다른 것을 순서대로 붙이는 것이다. 따라서 우리는 붙일 수 있는지 확인하고 붙여질 수 있으면 붙이고 옮겨가며 붙여보되, 안되면 회전을 시키고 반복하는 알고리즘을 짜면 된다. CODE import copy def checking(r:int,c:int.. 2023. 11. 18. [python] 백준 14215 세 막대 https://www.acmicpc.net/problem/14215 14215번: 세 막대 첫째 줄에 a, b, c (1 ≤ a, b, c ≤ 100)가 주어진다. www.acmicpc.net 문제 해결 삼각형이 만들어지는 조건에 대해서 생각해보는 문제 가장 큰 변의 길이는 다른 두변의 길이 합보다 작아야한다! 따라서 세 변이 길이를 오름차순으로 정렬 후, 앞에 두 값이 뒤에 있는 값보다 클 때 그렇지 않을 때 나눠서 계산 앞에 두 값이 뒤에 있는 값보다 클 때 세 변의 길이를 더하면 끝 그렇지 않으면 가장 긴 길이의 막대를 줄여야한다. 그 길이는 앞에 두 값의 합 -1 이다. 따라서 정답은 앞에 두 값의 합*2 -1이다. CODE import sys input = sys.stdin.readline L .. 2023. 11. 17. [python] 백준 9063 대지 https://www.acmicpc.net/problem/9063 9063번: 대지 첫째 줄에는 점의 개수 N (1 ≤ N ≤ 100,000) 이 주어진다. 이어지는 N 줄에는 각 점의 좌표가 두 개의 정수로 한 줄에 하나씩 주어진다. 각각의 좌표는 -10,000 이상 10,000 이하의 정수이다. www.acmicpc.net 문제 해결 브론즈 기하문제인 만큼 극히 제한적인 조건( 남북, 동서 방향으로 평행한 직사각형 모양)이 붙었다. 따라서 X축과 Y축으로 나누어 각 점들의 좌표를 보고 가장 큰 X좌표, 가장 작은 X좌표, 가장 큰 Y좌표 가장 작은 Y좌표를 가져와서 (가장 큰 X좌표-가장 작은 X좌표) * (가장 큰 Y좌표 - 가장 작은 Y좌표)를 구하면 된다. CODE import sys input.. 2023. 11. 16. 이전 1 ··· 12 13 14 15 16 17 18 ··· 82 다음 728x90