brute force 5

[코드트리] 최고의 33위치 [C/C++] for 코드트리 조별과제

풀이N * N 격자에서 3 * 3 범위에 존재하는 1의 최대갯수를 구하는 문제다.N이 20으로 작으니 윈도우 슬라이싱없이 모든 경우를 계산해도 충분하다.격자 정보를 입력받은 후에 1 ~ N - 2 범위를 탐색해주자.1 ~ N - 2 범위내의 (i, j)에 대해 (i ~ i + 2, j ~ j + 2)로 만들어지는 3 * 3 범위 내 1이 몇개 존재하는지 구하자.만약 이전 범위보다 갯수가 많다면 최댓값으로 갱신해주자. 만약 1의 갯수가 9라면 주어진 문제에서 가질 수 있는 최댓값 이므로 탐색을 중단하자.소스코드보기출처 코드트리 | 코딩테스트 준비를 위한 알고리즘 정석국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표가 엄선한 커리큘럼으로 준비해보세요.www.codetr..

PS 2024.07.21

[백준 06131] 완전 제곱수 [Python]

문제상근이는 선영이와 함께 게임을 하고 있다. 먼저, 상근이는 두 양의 정수 A와 B를 고른다. (1 ≤ B ≤ A ≤ 500) 그 다음, 선영이는 상근이가 고른 수를 맞춰야 한다.상근이는 선영이에게 다음과 같은 힌트를 주었다.A의 제곱은 B의 제곱보다 N만큼 커 (1 ≤ N ≤ 1,000)위의 힌트 조건을 만족하는 A와 B 쌍의 개수를 구하는 프로그램을 작성하시오.입력첫째 줄에 N이 주어진다.출력상근이의 힌트 조건을 만족하는 (A,B) 쌍의 개수를 출력한다.풀이1 ≤  B ≤ A ≤ 500에 대해 A^2 - B^2 == N인 경우를 세어주자.만약 찾았다면, 이후의 차는 무조건 N보다 크다. 다음 B로 넘어가자. 소스코드보기출처https://www.acmicpc.net/problem/6131

[백준 02800] 괄호 제거 [Python]

문제어떤 수식이 주어졌을 때, 괄호를 제거해서 나올 수 있는 서로 다른 식의 개수를 계산하는 프로그램을 작성하시오.이 수식은 괄호가 올바르게 쳐져 있다. 예를 들면, 1+2, (3+4), (3+4*(5+6))와 같은 식은 괄호가 서로 쌍이 맞으므로 올바른 식이다.하지만, 1+(2*3, ((2+3)*4 와 같은 식은 쌍이 맞지 않는 괄호가 있으므로 올바른 식이 아니다.괄호를 제거할 때는, 항상 쌍이 되는 괄호끼리 제거해야 한다.예를들어 (2+(2*2)+2)에서 괄호를 제거하면, (2+2*2+2), 2+(2*2)+2, 2+2*2+2를 만들 수 있다. 하지만, (2+2*2)+2와 2+(2*2+2)는 만들 수 없다. 그 이유는 쌍이 되지 않는 괄호를 제거했기 때문이다.어떤 식을 여러 쌍의 괄호가 감쌀 수 있다...