728x90


각각의 명함들의 가로길이와 세로 길이를 파악하여 지갑의 크기를 파악하기
예시)

풀이
- min(), max() 이용하기
- 명함을 회전할 수 있다는 것 이용하기
제출 코드

(코드 해석해 보기)
명함을 회전시킬 수 있으므로 가로길이(W)와 세로길이(H) 상관없이 최댓값을 구한다
그리고 각 행에서의 작은 수들 중에서 가장 큰 수를 곱해준다
(따지고 보면 maxW, maxH는 아닌..)
(for문에 i[0], i[1]을 비교하는 이유는 행첨자([])는 열단위로, i(포인터)는 행단위로 이동한다)
7) 2차원 배열 sizes의 1행부터 끝행까지 중 최댓값을 찾는다
(명함을 회전시킬 수 있으므로, 가로길이던 세로길이던 가장 큰 길이에 맞춰야 하므로)
8) 2차원 배열 sizes의 1행부터 각 행의 최솟값들을 구하고 그 중 최댓값을 받는다
(명함이 짧거나길거나, 이제 뚱뚱한 녀석만 고려하면 되니까)
import kotlin.math.* 를 쓰자

예전에 프로그래머스의 코틀린 버전은 maxOrNull(), minOrNull()로 써야 한다고 했었다
그래서 처음엔 그렇게 적었었는데 에러가 떴다..
그래서 그냥 min(), max()를 쓰기 위해 import kotlin.math.* 를 사용했다
나름 이 문제에 시간을 많이 써서 그냥 임포트 시키면 min(), max() 사용가능 하다고 하길래 그렇게 했다..
728x90
'코틀린(Kotlin) > 프로그래머스' 카테고리의 다른 글
[프로그래머스/코틀린(Kotlin)] 숫자 문자열과 영단어 (0) | 2023.11.22 |
---|---|
[프로그래머스/코틀린(Kotlin)] 시저 암호 (1) | 2023.11.21 |
[프로그래머스/코틀린(Kotlin)] 크기가 작은 부분 문자열 (0) | 2023.11.17 |
[프로그래머스/코틀린(Kotlin)] 삼총사 (0) | 2023.11.16 |
[프로그래머스/코틀린(Kotlin)] 이상한 문자 만들기 (1) | 2023.11.15 |