본문 바로가기
728x90

브루트포스23

[python] 백준 12919 A와 B 2 https://www.acmicpc.net/problem/12919 12919번: A와 B 2 수빈이는 A와 B로만 이루어진 영어 단어 존재한다는 사실에 놀랐다. 대표적인 예로 AB (Abdominal의 약자), BAA (양의 울음 소리), AA (용암의 종류), ABBA (스웨덴 팝 그룹)이 있다. 이런 사실에 놀란 수빈 www.acmicpc.net 문제 해결 처음에 S->T로 만드는 BFS 함수를 생각했다. 하지만 메모리초과, 시간초과 나오는 것을 보고 다른방법을 생각하게 되었다. 이전에 긴 문자열에서 짧은 문자열을 만드는 풀이가 생각이 났다. 역시 문자열을 만드는 것은 긴 문자열에서 짧은 문자열로 생각하는 것이 정답이다.(그래야 비교할 경우의 수가 줄어든다.) CODE S = str(input()).. 2023. 4. 5.
[python] 백준 18428 감시 피하기 https://www.acmicpc.net/problem/18428 18428번: 감시 피하기 NxN 크기의 복도가 있다. 복도는 1x1 크기의 칸으로 나누어지며, 특정한 위치에는 선생님, 학생, 혹은 장애물이 위치할 수 있다. 현재 몇 명의 학생들은 수업시간에 몰래 복도로 빠져나왔는데, 복 www.acmicpc.net 문제 해결 벽 3개를 세우는 경우의 수를 모두 해보는 수밖에 없다. 3개를 세우고 'T'(teacher)을 중심으로 동, 서, 남, 북 모든 좌표를 보면서 T와 'S'의 사이에 이미 O가 있으면 넘어가는 방면 없으면 바로 다음 경우의 수를 확인하면 된다. 만약 모든 T와 S 사이에 O로 블로킹(blocking)이 된다면 가능한 사건이므로 YES를 출력하고 코드를 끄면(exit) 된다. C.. 2023. 4. 4.
[python] 백준 16637 괄호 추가하기 https://www.acmicpc.net/problem/16637 16637번: 괄호 추가하기 첫째 줄에 수식의 길이 N(1 ≤ N ≤ 19)가 주어진다. 둘째 줄에는 수식이 주어진다. 수식에 포함된 정수는 모두 0보다 크거나 같고, 9보다 작거나 같다. 문자열은 정수로 시작하고, 연산자와 정수가 www.acmicpc.net 문제 해결 괄호는 소괄호만 사용 가능 사칙연산의 순서는 무시 (곱셈 우선 하는 것 무시) 왼쪽 부터 계산하면서 한 번 계산할 때 마다 뒤에 괄호로 계산 한 것과 안한 것 두가지 경우가 있음 dfs로 뒤에 괄호가 있어서 계산 한 경우와 괄호 없어서 이어서 계산하는 경우 두 가지로 계속 나눠가며 계산 최댓값을 구하기 CODE def operator(num1, oper, num2): i.. 2023. 3. 28.
[python] 백준 15683 감시 https://www.acmicpc.net/problem/15683 15683번: 감시 스타트링크의 사무실은 1×1크기의 정사각형으로 나누어져 있는 N×M 크기의 직사각형으로 나타낼 수 있다. 사무실에는 총 K개의 CCTV가 설치되어져 있는데, CCTV는 5가지 종류가 있다. 각 CCTV가 감 www.acmicpc.net 문제 해결 문제가 많이 어려웠다.(다른 분들의 풀이를 참고했다.) 결국 cctv 종류당 이동할 수 있는 방법의 수가 정해져 있기 때문에 dfs, bfs를 이용한 완전탐색을 해야한다. 이 사실을 알고 cctv당 이동 할 수 있는 방법을 리스트 안에 구현을 하면 사실 끝이다. 완전 탐색 후 가장 적게 사각지대가 생긴 개수를 구하면 된다. CODE import sys input = sys.s.. 2023. 3. 19.
728x90