본문 바로가기

알고리즘27

백준 1284 - 호수판 너비 구하기 (Python) 시간 제한: 1초 메모리 제한: 128MB 문제 재석이는 대문에 붙이는 (주소를 나타내는) 호수판 제작업체의 직원이다. 고객에게 전달할 호수판은 숫자와 숫자 사이 그리고 왼쪽 오른쪽으로 적당히 여백이 들어가 줘야하고 숫자마다 차지하는 간격이 조금씩 상이하다. 다행이도 규칙은 매우 간단하다. 각 숫자 사이에는 1cm의 여백이 들어가야한다. 1은 2cm의 너비를 차지해야한다. 0은 4cm의 너비를 차지해야한다. 나머지 숫자는 모두 3cm의 너비를 차지한다. 호수판의 경계와 숫자 사이에는 1cm의 여백이 들어가야한다. 예를 들어 위의 120 같은 경우, 각 숫자 사이에 여백이 1cm 씩 2개 들어간다. 1은 2cm, 2는 3cm, 0은 4cm를 차지한다. 오른쪽, 왼쪽 경계에서 각각 여백이 1cm씩 차지한다... 2022. 4. 20.
백준 1212 - N개의 정수의 합 S의 부호 구하기 (Python) 시간 제한: 2초 메모리 제한: 256 MB 문제 N개의 정수가 주어지면, 이 정수들의 합 S의 부호를 구하는 프로그램을 작성하시오. 입력 총 3개의 테스트 셋이 주어진다. 각 테스트 셋의 첫째 줄에는 N(1 ≤ N ≤ 100,000)이 주어지고, 둘째 줄부터 N개의 줄에 걸쳐 각 정수가 주어진다. 주어지는 정수의 절댓값은 9223372036854775807보다 작거나 같다. 출력 총 3개의 줄에 걸쳐 각 테스트 셋에 대해 N개의 정수들의 합 S의 부호를 출력한다. S=0이면 "0"을, S>0이면 "+"를, S 0: print('+') elif sum(num) < 0: print('-') else: print(0) 풀이 이 문제의 알고리즘은 간단한데 시간초과가 될 가능성이 높다. 보통 input() 내장.. 2022. 4. 20.
백준 1085 - 직사각형에서 탈출 (Python) 문제 한수는 지금 (x, y)에 있다. 직사각형은 각 변이 좌표축에 평행하고, 왼쪽 아래 꼭짓점은 (0, 0), 오른쪽 위 꼭짓점은 (w, h)에 있다. 직사각형의 경계선까지 가는 거리의 최솟값을 구하는 프로그램을 작성하시오. 입력 첫째 줄에 x, y, w, h가 주어진다. 출력 첫째 줄에 문제의 정답을 출력한다. 제한 1 ≤ w, h ≤ 1,000 1 ≤ x ≤ w-1 1 ≤ y ≤ h-1 x, y, w, h는 정수 x, y, w, h = map(int, input().split()) min = 1000 if x < min: min = x if y < min: min = y if (w-x) < min: min = w-x if (h-y) < min: min = h-y print(min) 현재 위치로부터 .. 2022. 4. 18.