반응형

문제 설명

문제의 포인트
- 2차원 배열 중에서도 쉬운 난이도의 문제이다.
- index, max 함수를 사용할 줄 알면 어렵지 않을 것
문제 풀이 방법
줄 갯수가 처음부터 주어져 있는 문제라 좀 더 쉽게 풀 수 있다.
- 첫 줄에는 모든 입력값을 2차원 배열 형태로 담을 1차원 배열을 하나 선언한다.
totalArray = []
2. 두번째 줄에는 각 줄에서 가장 큰 max 값을 담기 위한 max 전용 리스트를 하나 선언한다.
maxArray = []
3. 9x9 줄을 한꺼번에 담기 위한 입력문을 작성하고, 첫 줄에 만들어놓은 1차원 배열 ‘totalArray’에 입력값을 모두 넣어준다.
for i in range(9):
row = list(map(int, input().split()))
totalArray.append(row)
4. 그 다음 줄에 바로 입력받은 각 줄의 max값을 두번째 줄에 선언한 maxArray에 집어넣어준다.
for i in range(9):
row = list(map(int, input().split()))
totalArray.append(row)
maxArray.append(max(row))
5. max값을 담아준 maxArray를 활용한다. maxArray에서 가장 큰 값이 나오는 배열의 위치가 입력받은 줄에서의 위치(maxArray의 3번째 값 == 9줄 중 3번째 줄) 이므로 이를 활용해 row와 column의 위치를 알 수 있다.
maxArray를 maxArray만큼 돌리면서, maxArray의 값 중 가장 큰 값이 우리가 원하는 값이므로 maxArray에서 가장 큰 값이 나올 때의 인덱스를 구한다.
for i in range(len(maxArray)):
if maxArray[i] == max(maxArray):
print(max(maxArray))
6. 이때 구한 maxArray의 값 i == 9줄 중 i번째 줄이고, 이때의 값은 해당 row에서 몇 번째 값인지 구해주면 끝이 난다.
for i in range(len(maxArray)):
if maxArray[i] == max(maxArray):
print(max(maxArray))
print(i+1, totalArray[i].index(max(maxArray))+1)
최댓값 대신 최솟값을 구할 때는 max 대신 min으로 바꿔서 구하면 된다.
정답 코드
totalArray = []
maxArray = []
for i in range(9):
row = list(map(int, input().split()))
totalArray.append(row)
maxArray.append(max(row))
for i in range(len(maxArray)):
if maxArray[i] == max(maxArray):
print(max(maxArray))
print(i+1, totalArray[i].index(max(maxArray))+1)

반응형
'IT' 카테고리의 다른 글
[25.02.19] 주요 사이트 dns 서버 주소 모음 - 네이버, sk, lg, kt, 다음, 카카오 (0) | 2025.02.19 |
---|---|
[Eclipse, Java] 이클립스(Eclipse)에서 Java 프로젝트 생성하는 방법 (0) | 2025.02.06 |
[Eclipse Debug] 이클립스로 디버깅 하는 방법 (0) | 2025.02.06 |
CVS Update가 뭔데 맨날 이클립스가 멈추는거야? 이거 뭔지 아는 사람? (0) | 2025.02.05 |
파이썬 기초 / Python / Errors / 파이썬 각종 에러 발생 원인 (0) | 2023.05.28 |
파이썬 기초 / Python / dictionary / 딕셔너리 (0) | 2023.05.24 |
파이썬 기초 / Python / 지우기 (0) | 2023.05.22 |
백준 / Python / 1316 / 그룹 단어 체커 / 문제풀이 / 상세설명 (0) | 2023.05.22 |
댓글