망나니 AWOS의 일상
article thumbnail

java로 풀었다면 아마도 이중 for문을 이용해서 2차원 배열을 선언하고 값을 넣어 max값을 구했을 것이다.

 

하지만 python을 배우다가 1행이 list로 되어있다면? 반복문을 한 번만 돌리면 1행 즉, list에 9개의 값이 들어가게 되는 것이다.

 

이 코드를 보면 

value = []

for i in range(1):
    value = list(map(int, input().split()))

print(value)

입력값을 집어넣고 value를 출력한 결과

아래의 코드를 보게 되면 입력값을 받게 된다.

한 행의 리스트가 들어올 때 그 중에서 가장 큰 값이 max_n으로 들어가게 되고 두 번째 행의 코드로 대체가 된다.

결과를 보면 알 수 있다.

max_n = 0

value = []
for i in range(9):
    value = list(map(int, input().split()))

    if max(value) > max_n:
        max_n = max(value)  # 최댓값
        a = i + 1  # 행
        # index함수를 쓰면 max_n 값이 있으면 max_n의 위치 값을 돌려줌
        b = value.index(max_n) + 1

print(value)

마지막 8번째 행까지 받았는데 8번째 행의 리스트만 출력이 되는 걸 알 수 있다.

 

완성된 코드!

이중 for문이 아닌 for문 하나와 리스트와 맵을 쓰면 구현할 수 있다.

나머지 조건은 최댓값을 어떻게 구하면 될지 생각하면 쉽게 풀 수 있다.

max_n = 0
for i in range(9):
    value = list(map(int, input().split()))

    if max(value) > max_n:
        max_n = max(value)  # 최댓값
        a = i + 1  # 행
        # index함수를 쓰면 max_n 값이 있으면 max_n의 위치 값을 돌려줌
        b = value.index(max_n) + 1

print(max_n)
print(a, b)

 

profile

망나니 AWOS의 일상

@AWOS

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!