[Python] 백준 2566 | 최댓값 : map()

heige·2023년 12월 8일
0

BOJ

목록 보기
20/46
post-thumbnail

문제

https://www.acmicpc.net/problem/2566

풀이

방법 1

  • 2차원 배열의 행을 읽으며 최댓값을 담는다. (maxli)
  • maxli의 최댓값을 출력한다.
  • 전체 2차원 배열을 읽으며 최대값의 위치를 출력한다.(행과 열이 1부터 시작하므로 +1 해주기)
li = []
maxli = []
for i in range(9) :
    li.append(list(map(int, input().split())))
    maxli.append(max(li[i]))

print(max(maxli))
for i in range(9) :
    for j in range(9) :
        if li[i][j] == max(maxli) :
            print(i+1, j+1)

방법 2

  • map() 함수를 쓰면 좀 더 간단하다.
#map 함수 사용
li = []
for i in range(9) :
    li.append(list(map(int, input().split())))

print(max(map(max, li)))
for i in range(9) :
    for j in range(9) :
        if li[i][j] == max(map(max, li)) :
            print(i+1, j+1)

💡 배운 내용

2차원 배열의 최대/최소값 구하기

result = [[1,2,3,4,5],[5,6,7,8,9]]

print(max(result)) # 원소 값의 합이 가장 큰 리스트

print(max(map(max,result))) # 최대값

print(min(map(min,result))) # 최소값

map()

map(적용시킬함수, 적용할 요소들)
  • iterable을 받아서, 각 요소에 함수를 적용해주는 함수이다

c.f

  • iterable 이란?
    iterable 의 의미는 member를 하나씩 차례로 반환 가능한 object를 말한다. 
    대표적으로 iterable한 타입 - list, dict, set, str, bytes, tuple, range

  • iterator란?
    iterator는 iterable의 순회를 주관하는 객체이다.

profile
웹 백엔드와 클라우드 정복을 위해 탄탄한 기반을 쌓아가고 있는 예비개발자입니다. 'IT You Up'은 'Eat You Up'이라는 표현에서 비롯되어, IT 지식을 끝까지 먹어치운다는 담고 있습니다.

0개의 댓글