BOJ4 백준18156🐨Black and White https://www.acmicpc.net/problem/18156 시간 제한메모리 제한제출정답맞힌 사람정답 비율1 초512 MB1431139483186%문제n x n 격자가 주어지며, 각 칸은 흑색 또는 백색으로 칠해져 있습니다. 다음 조건을 모두 만족하면 격자는 ‘올바른’ 것으로 간주됩니다:모든 행에서 흑색 칸의 수와 백색 칸의 수가 같아야 합니다.모든 열에서 흑색 칸의 수와 백색 칸의 수가 같아야 합니다.어떤 행이나 열에서도 같은 색상의 칸이 3개 이상 연속으로 있어서는 안 됩니다.주어진 격자가 올바른지 판단하세요.입력첫 줄에는 정수 n이 주어집니다 (2 ≤ n ≤ 24; n은 짝수).그 다음 n개의 줄에는 각각 길이 n의 문자열이 주어지며, 'B’와 'W’로만 구성되어 있습니다. 이는 격자 칸의 .. 2024. 10. 9. 🐨BOJ#1697 숨바꼭질]🙄BFS(feat. collections) 문제 보기 https://www.acmicpc.net/problem/1697 1697번: 숨바꼭질 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 www.acmicpc.net 풀이 아이디어 딱 봐도 dp로 풀 수 있을 것 같지만... 머리가 아파서(=어려워서) 수빈이가 도착할 수 있는 위치가 분기로 갈라지는 트리를 만들어서 풀기로 했다. 가장 적은 횟수(빠른 시간)에 동생을 찾아야 하기 때문에, 트리의 깊이가 가장 얕은 게 정답이다. 그래서 dfs로 탐색한 뒤 깊이를 비교하는 것 보다 bfs를 사용해야 한다고 생각했다. 그리고 분기.. 2024. 3. 29. # 2559번 수열 ''' 10개의 원소가 있고 3 크기의 윈도우를 슬라이딩 시킨다고 하면 0 1 2 3 4 5 6 7 8 9 |___| | | | | | | | |___| | | | | | | |___| | | | | | |___| | | | | |___| | | | |___| | | |___| | |___| 반복 횟수는 10 - 3 + 1 = 8회다. 최초 윈도우를 설정하는1회를 제외한 7회동안 제일 앞과 제일 뒤의 값을 빼고 더하면 된다. n개의 원소와 k크기의 윈도우라면 n-k회가 된다. ''' import sys def sliding_window_sum(arr, n, k): window = sum(arr[0:k]) result = window for i in range(n-k): window = window - a.. 2024. 3. 9. 백준1003🐨피보나치 함수.py - DP, MEMO + 분할 정복 1003번: 피보나치 함수각 테스트 케이스마다 0이 출력되는 횟수와 1이 출력되는 횟수를 공백으로 구분해서 출력한다.www.acmicpc.net와 피보나치다! CPP 코드도 줬네? 전역변수 써서 더하면 되잖아 하고 풀다가 뭔가 이상함을 감지했습니다. 게다가 라이브러리 문제로 컴파일 에러도 났습니다. 나중에 의도대로 수정해 보니 역시 시간초과입니다.#include int zeros, ones;int fibonacci(int n) { if (n == 0) { zeros++;return 0;} else if (n == 1) {ones++;return 1;} else {return fibonacci(n - 1) + fibonacci(n - 2);}}int main() { int number.. 2024. 2. 2. 이전 1 다음