https://programmers.co.kr/learn/courses/30/lessons/86491
코드업 문제 다 풀고 프로그래머스 레벨1 문제를 풀거닷
유형별 백준 문제도 풀거임..... 프로그래머스는 자바로 풀었던거 몇개는 포스팅은 안하려고 한다.
위 문제는 입력받은 가로, 세로 들에서 큰값만 모은 가로값 * 작은값만 모은 세로값 (혹은 그 반대)을 구해야 한다.
코드
def solution(sizes):
answer = 0
answer = max(max(x) for x in sizes) * max(min(x) for x in sizes)
# max(x) for x in sizes 하면 각 사이즈[0],[1] 등에서 큰값만 뽑아냄, min도 마찬가지
# 큰것만 뽑아낸거에서 큰거, 작은것만 뽑아낸거에서 작은거
return answer
2차원 배열에서 그냥 max를 사용하면.. 그러니까
max(sizes)를 하면 쟤네를 다 더해서 가장 큰 열을 출력한다.
그리고 max(x) for x in sizes 를 리스트로 print() 해보면 각 열에서 max값들을 모은 list가 출력됨.
거기서 max 구하고 그 뒤도 마찬가지로 min 구해준 것이다~
내가 하려던 풀이를 그대로 구현한 코드를 발견했다.
def solution(sizes):
w = 0
h = 0
for i in range(len(sizes)):
sizes[i].sort()
w = max(w, sizes[i][0])
h = max(h, sizes[i][1])
return w * h
원래 이렇게 sort()해서 풀려고 했는데 그렇게됐다.
'알고리즘 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 신규 아이디 추천 for Python (0) | 2022.03.14 |
---|---|
[프로그래머스] 로또의 최고 순위와 최저 순위 for python (0) | 2022.03.13 |
[프로그래머스] 시저 암호 for Python (0) | 2022.03.01 |
[프로그래머스] 소수 찾기 for JAVA (level 1) _ 에스테라토스의 체 (0) | 2022.02.27 |
[프로그래머스] 문자열을 정수로 바꾸기 for JAVA (0) | 2022.02.26 |