프로젝트 6주차 타임라인 (Wed Feb 4 2026)


[17] 최종 결과물 - 대시보드 (3)

"Epitope 예측 플랫폼 [ESM-2]" 페이지 요약
상호작용 실험 조건뿐만 아니라 '모델 임계값'을 슬라이더로 직접 조절하고 항원 서열을 입력
중요성 Recall(Stage 1)과 Precision(Stage 2)의 기준을 직접 설정함으로써 실험의 목적에 맞게 결과를 튜닝할 수 있음
상호작용 [분석 실행] 버튼 클릭 시, 진행률 바와 예상 소요 시간을 확인하며 기다림
중요성 대규모 서열 분석 시 사용자가 막연하게 기다리지 않도록 실시간 진행 상황을 공유하여 사용자 경험(UX)을 개선
상호작용 AI가 선별한 Top-1 후보의 위치를 3D 모델(ESMFold) 상에서 즉시 확인
중요성 텍스트 형태의 서열 정보를 넘어 실제 단백질 공간 구조 내에서 Epitope의 타당성을 즉각적으로 시각화
상호작용 선택한 Epitope의 특정 아미노산을 가상으로 변이시켜 결합 점수 변화를 관찰
중요성 단순 예측을 넘어, 어떤 잔기가 결합에 결정적인지와 화학적 성질을 교차 검증하여 핵심 결합 부위를 찾아냄

문제 설명 solution.py
#134 틱택토는 단순한 규칙으로 게임이 금방 끝나기에 머쓱이는 한 게임이 종료되면 다시 3x3 빈칸을 그린 뒤 다시 게임을 반복했습니다. 그렇게 틱택토 수 십 판을 했더니 머쓱이는 게임 도중에 다음과 같이 규칙을 어기는 실수를 했을 수도 있습니다.

(1) "O"를 표시할 차례인데 "X"를 표시하거나 반대로 "X"를 표시할 차례인데 "O"를 표시한다.
(2) 선공이나 후공이 승리해서 게임이 종료되었음에도 그 게임을 진행한다.

게임 도중 게임판을 본 어느 순간 머쓱이는 본인이 실수를 했는지 의문이 생겼습니다. 혼자서 틱택토를 했기에 게임하는 과정을 지켜본 사람이 없어 이를 알 수는 없습니다. 그러나 게임판만 봤을 때 실제로 틱택토 규칙을 지켜서 진행했을 때 나올 수 있는 상황인지는 판단할 수 있을 것 같고 문제가 없다면 게임을 이어서 하려고 합니다.

머쓱이가 혼자서 게임을 진행하다 의문이 생긴 틱택토 게임판의 정보를 담고 있는 문자열 배열 board가 매개변수로 주어질 때, 이 게임판이 규칙을 지켜서 틱택토를 진행했을 때 나올 수 있는 게임 상황이면 1을 아니라면 0을 return 하는 solution 함수를 작성해 주세요.
def check_win(player, board):
     for i in range(3):
          if all(cell == player for cell in board[i]):
               return True
     for j in range(3):
          if all(board[i][j] == player for i in range(3)):
               return True
     if all(board[i][i] == player for i in range(3)):
          return True
     if all(board[i][2-i] == player for i in range(3)):
          return True
     return False

def solution(board):
     num_x = sum(row.count('X') for row in board)
     num_o = sum(row.count('O') for row in board)
     if num_x - num_o > 0 or abs(num_x - num_o) > 1:
          return 0
     elif (check_win('O', board) and num_x != num_o - 1)
            or (check_win('X', board) and num_x != num_o):
          return 0
     return 1

+ Recent posts