본문 바로가기
728x90

분류 전체보기423

[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.
[python] 백준 11664 선분과 점 https://www.acmicpc.net/problem/11664 11664번: 선분과 점 첫째 줄에 선분과 점의 좌표 Ax, Ay, Az, Bx, By, Bz, Cx, Cy, Cz가 주어진다. 좌표는 0보다 크거나 같고, 10,000보다 작거나 같은 정수이다. www.acmicpc.net 문제 해결 3차원 공간에서 선분 AB와 점 C를 가장 가까운 직선을 그릴 때 2가지 경우가 나온다. 두 가지 경우를 나눠서 측정할 수 있지만 (cosin 값을 이용해 두 분류를 구분할 수 있다.) 그래도 최소 거리를 구한다는 것이 쉽지 않다. 우리는 극한을 이용해서 구할 것이다. 점 C에서 선분 AB사이의 거리를 answer라 했을 때 answer≤ min(ac, bc) 일 것이다. 선분 AB의 중심을 점 m이라 할.. 2023. 11. 15.
728x90