-
[Programmers] Lv1. ์ต์์ง์ฌ๊ฐํ(Kotlin)SW Test/Programmers 2021. 11. 12. 02:29๋ฐ์ํ
- ์ด ๋ฌธ์ ๋ kotlin์ผ๋ก ํ์ด๋ฅผ ์์ฑํ์์ต๋๋ค.
๋ฌธ์
https://programmers.co.kr/learn/courses/30/lessons/86491 ์์
https://programmers.co.kr/learn/courses/30/lessons/86491 ํ์ด
- kotlin ์์ maxํจ์๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํด์ kotlin.math.max ๋ฅผ import ํด์ฃผ์ด์ผ ํ๋ค.
- ํด๋น ๋ฌธ์ ๋ ๋ฐฐ์ด ํ ์ค์ฉ ํ์ธํ์ฌ first๋ ๊ธฐ์กด์ ๊ฐ y์ ๋ฐฐ์ด์ ์ฒซ ๋ฒ์งธ ๊ฐ ์ค ํฐ ๊ฐ๊ณผ ๊ธฐ์กด์ x์ ๋ฐฐ์ด์ ๋ ๋ฒ์งธ ๊ฐ ์ค ํฐ ๊ฐ์ ๊ณฑํ๋ ๊ฐ์ ๋๋ค. second๋ ๋ฐ๋๋ก y์ ๋ฐฐ์ด์ ๋ ๋ฒ์งธ ๊ฐ ์ค ํฐ ๊ฐ๊ณผ x์ ์ฒซ ๋ฒ์งธ ๊ฐ ์ค ํฐ ๊ฐ์ ํด๋น๋ฉ๋๋ค. ์ดํ first์ second ์ค ๋ ์์ ๊ฐ์ด answer์ด ๋ฉ๋๋ค.
import kotlin.math.* class Solution { fun solution(sizes: Array<IntArray>): Int { var answer: Int = 0 var y = 0 var x = 0 for(arr in sizes){ var first = max(y,arr[0])*max(x,arr[1]) var second = max(y,arr[1])*max(x,arr[0]) if(first > second){ answer = second y = max(y,arr[1]) x = max(x,arr[0]) }else{ answer = first y = max(y,arr[0]) x = max(x,arr[1]) } } return answer } }
- ๊ตณ์ด ์ ์ฒ๋ผ ๊ตฌํํ์ง ์๊ณ sizes ๋ฐฐ์ด์์ ํ๋์ฉ ํ์ ์ arr๋ฅผ ์ ๋ ฌํ ๋ค first๋ ์ฒซ ๋ฒ์งธ ๊ฐ๋ค ์ค ์ต๋๊ฐ, second๋ ๋ ๋ฒ์งธ ๊ฐ๋ค ์ค ์ต๋๊ฐ์ ๊ตฌํ๋ฉด ๋ฉ๋๋ค. first์ second๋ฅผ ๊ณฑํ ๊ฐ์ด ๋ต์ด ๋ฉ๋๋ค.
- ๋ค๋ง, sort ํจ์๋ฅผ ์ผ๋ค๊ณ 0.34 ms์์ 8.88ms ๋ก ์๋์์ฒด๋ ๋๋ ค์ง๋ ๊ฒ์ ํ์ธํ์์ต๋๋ค. ์๋๋ก ๋ณด๋ฉด ์ ๋ง ์์ ์ซ์์ง๋ง, arr์ ํฌ๊ธฐ๊ฐ ๊ณ ์ ์ ์ผ๋ก 2์ด๊ณ sortํจ์๋ ์์ฒด์ ์ผ๋ก ํต ์ํธ๋ฅผ ์ฌ์ฉํ์ฌ ์ ์ฝ๋๋ณด๋ค ๋นจ๋ฆฌ ๋์ํ ๊ฒ ๊ฐ์๋๋ฐ ๋๋ฆฝ๋๋ค. ํจ์ ํธ์ถ ์คํ์ผ๋ก ์ธํด์ ๊ทธ๋ฐ๊ฑด์ง.. ์ ํํ ์ด์ ์์๋ ๋ถ์ ๋๊ธ ๋ถํ๋๋ฆฝ๋๋ค.
import kotlin.math.* class Solution { fun solution(sizes: Array<IntArray>): Int { var answer: Int = 0 var y = 0 var x = 0 for(arr in sizes){ arr.sort() y = max(y, arr[0]) x = max(x, arr[1]) answer = y*x } return answer } }
์ฐธ๊ณ
max - Kotlin Programming Language
kotlinlang.org
๋ฐ์ํ'SW Test > Programmers' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Programmers] Lv1. 2019 KAKAO BLIND RECUITMENT ์คํจ์จ(kotlin) (0) 2022.05.26 [Programmers] Lv1.N^2 ๋ฐฐ์ด ์๋ฅด๊ธฐ(Kotlin) (0) 2021.11.15 [Programmers] Lv2. ์ด์ง ๋ณํ ๋ฐ๋ณตํ๊ธฐ (0) 2020.12.06 [Programmers] Lv2. ์ผ๊ฐ ๋ฌํฝ์ด (1) 2020.10.18 [Programmers] Lv2. ์ฟผ๋์์ถ ํ ๊ฐ์ (0) 2020.10.18