https://www.acmicpc.net/problem/2566
2566: 최대값
첫 번째 줄에는 최대값이 출력되고, 두 번째 줄에는 최대값이 있는 줄 번호와 열 번호가 사이에 공백을 두고 차례로 인쇄됩니다. 최대값이 2개 이상인 경우 그 중 하나의 위치가 출력됩니다.
www.acmicpc.net
이렇게 코드를 작성했는데 틀렸네요
>>
l= ((0 for col in range(9)) for row in range(9))
for i in range(9):
l(i)=list(map(int,input().split()))
tmp=()
for i in range(9):
tmp.append(max(l(i)))
total=max(tmp)
resulti=0
resultj=0
for i in range(9):
if (l(i).count(total)==1):
resulti=i
resultj=l(i).index(total)
print(total)
print(resulti+1,resultj+1)
반례 찾기
3 23 85 34 17 74 25 52 65
10 7 39 42 88 52 14 72 63
87 100 100 78 53 45 18 84 53
34 28 64 85 12 16 75 36 55
21 77 45 35 28 75 90 76 1
25 87 65 15 28 11 37 28 74
65 27 75 41 7 1 78 64 39
47 47 70 45 23 65 3 41 44
87 13 82 38 31 12 29 29 10
출력 기댓값 100/ 3 2 or 3 3
내 출력값 100/ 1 1
=> 같은 행에 같은 숫자가 하나만 있다고 가정했기 때문에 잘못된 코드입니다!
>> 변경된 코드
l= ((0 for col in range(9)) for row in range(9))
for i in range(9):
l(i)=list(map(int,input().split()))
tmp=()
for i in range(9):
tmp.append(max(l(i)))
total=max(tmp)
resulti=0
resultj=0
for i in range(9):
for j in range(9):
if (l(i)(j)==total):
resulti=i
resultj=j
print(total)
print(resulti+1,resultj+1)