본문 바로가기

Language/Python

괜히 어렵게 풀었다!

백준 2차원 배열에서 최대값의 행,열 정보 추출
- list(map(int, open(0).read().split()
- 9x9 행렬일때 index값을 9로 나눈 몫과 나머지로
행,열 정보 추출
프로그래머스 2차원 배열에서 행,열 정보로 min,max구하기
- for i in range(len(wall):
    for j in range(len(wall[i]):
      #  i = 행, j = 열

 

 

백준

2566번: 최댓값

 

2566번: 최댓값

첫째 줄에 최댓값을 출력하고, 둘째 줄에 최댓값이 위치한 행 번호와 열 번호를 빈칸을 사이에 두고 차례로 출력한다. 최댓값이 두 개 이상인 경우 그 중 한 곳의 위치를 출력한다.

www.acmicpc.net

# list(map(int,open(0).read().split()))를 통해 자료값 한번에 받아오기

a = list(map(int,open(0).read().split()))
want = a.index(max(a))

print(max(a))
print(want//9+1, want%9+1) #9행9열임으로 9로 나눈 몫과 나머지로 행렬 정보 추출

프로그래머스

https://school.programmers.co.kr/learn/courses/30/lessons/161990

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

#2차원배열 행,열 정보로 min,max구하기
def solution(wallpaper):
    min_list = []
    max_list = []

    for i in range(len(wallpaper)):
        for j in range(len(wallpaper[i])):
            if wallpaper[i][j] == "#":
                min_list.append((i,j))
                max_list.append((i+1,j+1))

    answer = [min(list(map(lambda x:x[0], min_list))),
              min(list(map(lambda x:x[1], min_list))),
              max(list(map(lambda x:x[0], max_list))),
              max(list(map(lambda x:x[1], max_list)))]

    return answer

--------------------------------------------------
#ㅋㅋㅋㅋ 그냥 마지막에 +1하면 되는거였네 ㅋㅋㅋㅋㅋ
def solution(wall):
    a, b = [], []
    for i in range(len(wall)):
        for j in range(len(wall[i])):
            if wall[i][j] == "#":
                a.append(i)
                b.append(j)
    return [min(a), min(b), max(a) + 1, max(b) + 1]

'Language > Python' 카테고리의 다른 글

재귀함수  (0) 2023.08.03
알고리즘 Cheat Sheet  (0) 2023.07.10
약수 구하기 활용하기  (0) 2023.04.14
간단하게 접근하기  (0) 2023.03.24
슬라이싱과 넘파이 활용하기  (0) 2023.03.23