반응형
1.문제 소개
- 그리디/구현 문제 유형이다.
- https://www.acmicpc.net/problem/1051
2.코드
def set_test_case():
input_str = input().split(" ")
n,m = int(input_str[0]),int(input_str[1])
rectangle = []
for i in range(n):
row = input()
rectangle.append(row)
return n,m,rectangle
def get_max_area(rectangle,x,y):
distance= 0
max_area = 0
while (x+distance) < len(rectangle) and (y+distance) < len(rectangle[0]):
if (rectangle[x][y] == rectangle[x+distance][y] == rectangle[x][y+distance] == rectangle[x+distance][y+distance]):
max_area = distance
distance +=1
return max_area+1
def solution():
n,m,rectangle = set_test_case()
answer = 0
for i in range(n):
for j in range(m):
max_area = get_max_area(rectangle,i,j)
if max_area > answer:
answer = max_area
print(answer*answer)
if __name__ == "__main__":
solution()
3.코멘트
- get_max_area(사각형의 p1 / 왼쪽 상단 꼭지점 좌표를 기준으로 p2, p3, p4 가 같은 최대 거리를 반환하는 함수)를 모든 지점을 순회하면서 최대 길이를 구한다.
- 퇴근하고 짧은 시간에 풀만한 제일 만만한게 그리디/구현 문제.. 오늘은 일이 잘 안풀리는 날이였다.
반응형
'Algorithm' 카테고리의 다른 글
Baekjoon 백준 알고리즘 - 분산처리 ( 1009 ) (0) | 2024.10.28 |
---|---|
Baekjoon 백준 알고리즘 - 한 줄로 서기 ( 2852 ) (0) | 2024.10.14 |
Baekjoon 백준 알고리즘 - 한 줄로 서기 ( 1138 ) (0) | 2024.09.02 |
Baekjoon 백준 알고리즘 - 풍선 터뜨리기 ( 2346 ) (0) | 2024.06.23 |
Baekjoon 백준 알고리즘 - DNA ( 1969 ) (1) | 2024.04.14 |