코딩테스트/SWEA

[코테] #1974

박소민 2023. 1. 14. 12:24
#1974 스토쿠
  • 2차원 배열 입력받기
  • 각 열의 합 계산해서 각 열에 중복된 수 있는지 확인
  • 3x3 격자 따로 합 계산해서 중복확인
  • 앞의 확인들을 거쳐서 중복된 값 있으면 0, 없으면 1 출력
T = int(input())
# 여러개의 테스트 케이스가 주어지므로, 각각을 처리합니다.
for test_case in range(1,T+1):
    number=[1,2,3,4,5,6,7,8,9]
    ls=[]
    answer=[]

    for _ in range(9):
        line=list(map(int,input().split()))
        if len(list(set(line)))!=9:
        	answer.append(0)
        ls.append(line)
    
    #각 열의 합
    for i in range(9):
    	c=0
    	for j in range(9):
        	c+=ls[j][i]
    	if c!=45:
        	answer.append(0)
        	break
      
    r=[0]*9
    n1=[0,1,2]
    n2=[3,4,5]
    for i in range(9):
    	if i in n1:
     		for j in range(9):
        		if j in n1: r[0]+=ls[i][j]
        		elif j in n2: r[1]+=ls[i][j]
        		else: r[2]+=ls[i][j]
    	elif i in n2:
      		for j in range(9):
        		if j in n1: r[3]+=ls[i][j]
        		elif j in n2: r[4]+=ls[i][j]
        		else: r[5]+=ls[i][j]
    	else:
      		for j in range(9):
        		if j in n1: r[6]+=ls[i][j]
        		elif j in n2: r[7]+=ls[i][j]
        		else: r[8]+=ls[i][j]

    for k in range(9):
    	if r[k]!=45:
        	answer.append(0)
        	break
    
    if 0 in answer:
    	print("#%d %d"%(test_case,0))
    else:
    	print("#%d %d"%(test_case,1))

'코딩테스트 > SWEA' 카테고리의 다른 글

[코테스터디] [프로그래머스] [2019 KAKAO BLIND RECRUITMENT] 무지의 먹방 라이브  (0) 2023.01.26
[코테] #1961  (0) 2023.01.15
[코테] #1959  (0) 2023.01.14
[코테] #1209  (0) 2023.01.14
[코테] #1204  (0) 2023.01.12