숫자 카드 게임
3 3 을 행과 열로 보아서 3*3 행렬을 구성하게 되고,
각 행에서 가장 작은 수,
그리고 3개의 작은 수 중 가장 큰 수를 출력값으로 갖는 게임이다.
n,m=map(int, input().split())
result = 0
for i in range(n):
data=list(map(int, input().split())) # append 로 미리 할당안해주고 list로 저장
min_value=min(data)
result = max(result, min_value)
print(result)
for문 안에 한 행을 생성하고, 거기서 바로 작은 값을 색출하고,
그 중 가장 큰 값이 result 에 저장되게 된다.
재밌었던 게, print 를 for문 안에서 입력해서 각 값들을 출력해봐서 메커니즘을 바로 볼 수 있었다.
나한테는 아직도 코드로 돌아가는 부분이 완전히 이해되고 논리적으로 체득되지가 않아서 그랬다.
데이터에 한 행 만들고, 그 상태 이어서 가장 작은 수를 저장하고, 리절트에서 맥스값을 저장하고,
또 다음 행에서 같은 방법으로 하고, 이제는 리절트가 달라졌으니 달라진 수와 비교하고 저장하고,
3행이니 마지막으로 같은 과정을 반복하고,
마지막으로 출력값은 맥스값(리절트)이 계속해서 갱신되면서, 출력되게 된다.
'2023-4 > 1일1코딩' 카테고리의 다른 글
[이코테] 왕실의 나이트 (0) | 2023.01.18 |
---|---|
[BOJ] 1764 python (0) | 2023.01.11 |
[BOJ] 2667 python (0) | 2023.01.08 |
[BOJ] 1260 python (0) | 2023.01.06 |