728x90
https://school.programmers.co.kr/learn/courses/30/lessons/160585
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
어디선가 들어본 틱 택 토 게임
일단 조건이
1 x 가 o 보다 많으면 안 된다
2 o는 x+1 개보다 많으면 안 된다
3 x는 무조건 한 줄만 생겨야 한다
4 o는 1줄과 2줄 가능하지만 2줄일 때는 o는 5 개 x는 4개여야 한다
이 조건들을 조합해서 가능한 경우를 만들어준다
가능하면 1 불가능하면 0
def solution(t):
def f(x):
y=0
s1=0
s2=0
for i in range(3):
if t[i].count(x)==3:
y+=1
s=0
for j in range(3):
if t[j][i]==x:
s+=1
if s==3:
y+=1
if t[i][i]==x:
s1+=1
if t[i][2-i]==x:
s2+=1
if s1==3:
y+=1
if s2==3:
y+=1
return y
def xf(x):
s=0
for i in range(3):
s+=t[i].count(x)
return s
if f("O")!=0:
if f("O")>2 or f("X")!=0 or xf("O")<=xf("X") or xf("O")>xf("X")+1:
return 0
if f("O")==2:
if xf("O")==5 and xf("X")==4:
return 1
else:
return 0
return 1
elif f("X")!=0:
if f("X")>1 or xf("O")!=xf("X"):
return 0
return 1
else:
if xf("O")<xf("X") or xf("O")>xf("X")+1:
return 0
return 1
'알고리즘 > 프로그래머스' 카테고리의 다른 글
수식 최대화 (1) | 2023.05.17 |
---|---|
조건에 부합하는 중고거래 상태 조회하기 (0) | 2023.05.13 |
베스트앨범 - python (0) | 2023.04.18 |
요격 시스템 - python (0) | 2023.04.17 |
두 원 사이의 정수 쌍 - python (0) | 2023.04.16 |
댓글