[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개의 댓글

Powered by GraphCDN, the GraphQL CDN