- 0과 1로만 이루어진 문자열에서 연속구간 뒤집기를 통해 한문자로만 이루어진 문자열을 만들려 할때, 뒤집기 시행횟수 구하기
- point. 그리디 알고리즘 -> 규칙성을 찾아라
- 뒤에 문자랑 비교해서 같은 문자끼리 뭉텅이 구하기 -> 뭉텅이//2
s = input()
count = 0
for i in range(len(s)-1):
if s[i] != s[i+1]:
count +=1
print((count+1)//2)
단계별풀기 - 기본수학2
# 1085 직사각형에서 탈출 (브론즈3)
- 한수는 지금 (x, y)에 있다. 직사각형의 왼쪽 아래 꼭짓점은 (0, 0)에 있고, 오른쪽 위 꼭짓점은 (w, h)에 있다. 직사각형의 경계선까지 가는 거리의 최솟값을 구하는 프로그램을 작성하시오.
- point. (0.0)에 가까운 x,y 거리도 고려해야한다.
x, y, w, h = map(int, input().split())
print(min(w-x, h-y, x, y))
# 3009 네 번째 점 (브론즈3)
- 세 점이 주어졌을 때, 축에 평행한 직사각형을 만들기 위해서 필요한 네 번째 점을 찾는 프로그램을 작성하시오.
x_list = []
y_list = []
for i in range(3):
x, y = list(map(int, input().split()))
x_list.append(x)
y_list.append(y)
for i in range(3):
if x_list.count(x_list[i]) == 1:
x = x_list[i]
if y_list.count(y_list[i]) == 1:
y = y_list[i]
print(x,y)
# 4153 직각삼각형 (브론즈3)
- 주어진 세변의 길이로 삼각형이 직각인지 아닌지 구분하시오.
- 각 입력에 대해 직각 삼각형이 맞다면 "right", 아니라면 "wrong"을 출력한다.
while True:
rec_list = list(map(int, input().split()))
if rec_list[0] == 0 & rec_list[1] == 0 & rec_list[2] == 0:
break
rec_max = max(rec_list)
rec_list.remove(rec_max)
if rec_max**2 == rec_list[0]**2 + rec_list[1]**2:
print("right")
else:
print("wrong")
# 3053 택시 기하학 (브론즈3)
- 첫째 줄에는 유클리드 기하학에서 반지름이 R인 원의 넓이를, 둘째 줄에는 택시 기하학에서 반지름이 R인 원의 넓이를 출력한다. 정답과의 오차는 0.0001까지 허용한다.
- 유클리드 기하학 원의 넓이 : 반지름 * 반지름 * 3.1415...(파이)
- 택시 기하학에서의 반지름이 R인 원의 넓이란, “두 대각선의 길이가 2R인 마름모의 넓이” 와 같다
import math
r = int(input())
print(r*r*math.pi)
print(r*r*2)
반응형
'알고리즘 > baekjoon' 카테고리의 다른 글
20210127_코테공부 (0) | 2021.01.27 |
---|---|
20210126_코테공부 (0) | 2021.01.26 |
20210122_코테공부 (0) | 2021.01.22 |
20210121_코테공부 (0) | 2021.01.21 |
20210120_코테공부 (0) | 2021.01.20 |