일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
- programmers
- 우분투
- SW Expert Academy
- 금융문자분석경진대회
- PYTHON
- 파이썬
- 프로그래머스
- dacon
- gs25
- Kaggle
- hackerrank
- 더현대서울 맛집
- Real or Not? NLP with Disaster Tweets
- 편스토랑
- Git
- AI 경진대회
- leetcode
- ChatGPT
- 데이콘
- 자연어처리
- 코로나19
- Docker
- 편스토랑 우승상품
- 백준
- Baekjoon
- github
- 프로그래머스 파이썬
- ubuntu
- 맥북
- 캐치카페
- Today
- Total
솜씨좋은장씨
[BaekJoon] 2566번 : 최댓값 (Python) 본문

코딩 1일 1문제! 오늘의 문제는 백준의 2566번 최댓값! 입니다.
2566번: 최댓값
첫째 줄에 최댓값을 출력하고, 둘째 줄에 최댓값이 위치한 행 번호와 열 번호를 빈칸을 사이에 두고 차례로 출력한다. 최댓값이 두 개 이상인 경우 그 중 한 곳의 위치를 출력한다.
www.acmicpc.net
👨🏻💻 문제 풀이

위와 같이 9X9 격자판에 쓰여진 글자를 입력 받으면
그 중에 가장 큰 숫자는 무엇인지 해당 숫자의 위치는 몇 행 몇 열 인지 구하는 문제입니다.

예제 입력을 보면 공백을 기준으로 적힌 숫자 목록을 9번에 걸쳐 입력 받습니다.
for _ in range(9):
numbers = list(map(int, input().split()))
number_list.append(numbers)
이를 코드로 작성하면 위와 같습니다.
max_num_list = []
for row, numbers in enumerate(number_list, start=1):
max_num = max(numbers)
col = numbers.index(max_num) + 1
max_num_list.append((f"{row} {col}", max_num))
그 다음으로는 각 행마다 숫자 목록을 꺼내오는데 이때 몇 행(row)의 숫자인지 알기 위해
enumerate를 활용하여 행의 숫자를 가져오도록 했고 이때 1부터 시작하기 위해 start=1을 옵션을 넣어주었습니다.
이렇게 꺼내온 숫자목록에서 max를 활용하여 최댓값을 찾고
해당 숫자가 어디에 위치해 있는지 index를 활용하여 구한 값에 1을 더해 구합니다.
이렇게 구한 값들을 max_num_list에 (행 열, 각 행의 최댓값) 의 형태로 넣어둡니다.
max(max_num_list, key=lambda x: x[1])
마지막으로 max를 활용하여 각 행들의 최댓값 들 중 가장 큰 수를 찾아 정답으로 합니다.
전체 코드는 아래를 참고해주세요!
👨🏻💻 코드 ( Solution )
def max_number(number_list):
max_num_list = []
for row, numbers in enumerate(number_list, start=1):
max_num = max(numbers)
col = numbers.index(max_num) + 1
max_num_list.append((f"{row} {col}", max_num))
return max(max_num_list, key=lambda x: x[1])
if __name__ == "__main__":
number_list = []
for _ in range(9):
numbers = list(map(int, input().split()))
number_list.append(numbers)
answer = max_number(number_list)
print(answer[1])
print(answer[0])
GitHub - SOMJANG/CODINGTEST_PRACTICE: 1일 1문제 since 2020.02.07
1일 1문제 since 2020.02.07. Contribute to SOMJANG/CODINGTEST_PRACTICE development by creating an account on GitHub.
github.com
'Programming > 코딩 1일 1문제' 카테고리의 다른 글
[BaekJoon] 5543번 : 상근날드 (Python) (0) | 2022.01.05 |
---|---|
[BaekJoon] 11866번 : 요세푸스 문제 0 (Python) (0) | 2022.01.04 |
[BaekJoon] 2559번 : 수열 (Python) (0) | 2022.01.02 |
[BaekJoon] 2455번 : 지능형 기차 (Python) (0) | 2022.01.01 |
[BaekJoon] 10992번 : 별 찍기 - 17 (Python) (0) | 2021.12.31 |