[TIL] 백준 2615 - 오목 ( python )
·
TIL
📌 문제 탐색하기N = 19matrix = N * N 2차원 배열 바둑판0 = 빈칸1 = 흑돌2 = 백돌 19×19 크기의 바둑판에서 각 칸에 0(빈칸), 1(흑돌), 2(백돌)이 놓여 있을 때, 오목이 있는지 판별하는 것이 핵심입니다. 단, 연속된 돌이 6개 이상이면 오목으로 인정하지 않습니다.1 ≤ N ≤ 19가능한 시간복잡도보드의 크기는 19×19로 총 361칸입니다.각 칸마다 최대 4가지 방향을 확인하며, 각 방향은 최대 19칸까지 연속 검사를 진행합니다.4가지 방향오른쪽: (y, x) = (0, 1)아래쪽: (y, x) = (1, 0)오른쪽 아래 대각선: (y, x) = (1, 1)오른쪽 위 대각선: (y, x) = (-1, 1)최악의 경우 연산 횟수는 약 361 × 4 × 19 = 27,43..
[TIL] 백준 2503 - 숫자 야구 ( python )
·
TIL
📌 문제 탐색하기N : 민혁이가 영수에게 질문한 개수strike : 민혁이가 제시한 수와 영수의 수의 같은 자리에서 숫자가 일치하면 스트라이크ball: 민혁이가 제시한 수에 포함된 숫자가 영수의 수에 있지만 위치가 다르면 볼guesses: 민혁이가 질문한 세 자리 수와 영수가 답한 스트라이크 개수를 나타내는 정수와 볼의 개수를 나타내는 정수를 저장하는 배열 영수가 마음속으로 생각한 세 자릿수( 1~9, 서로 다른 숫자 )와 민혁이의 질문( 세 자릿수, 스트라이크, 볼 )을 바탕으로 영수가 생각할 수 있는 후보 숫자의 총 개수를 구하는 것이 핵심입니다. 1 ≤ N ≤ 100가능한 시간복잡도 후보 수의 총 개수1부터 9까지 서로 다른 숫자로 구성된 3자리 수의 경우, 총 9 × 8 × 7 = 504가지 후..