https://school.programmers.co.kr/learn/courses/30/lessons/86491
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
나만의 풀이방법
주어지는 sizes 매개변수의 2차원 배열은 [i,j]로 이루어진 1차원배열이 여러개가 묶여져 있는 형태이기에
for in 반복문을 이용하여 접근하였다.
0 ~ (sizes의 갯수-1) 의 범위를 i에 접근하고
[i][0], [i][1]을 비교하여 더 큰 수를 bigSize라는 배열에 담고 작은수를 smallSize 배열에 담게하였다.
이유는 [i][0] 과 [i][1]은 각각 가로와 세로의 길이이다.
가로와 세로를 비교하여 큰수는 bigSize에 담고 작은수는 smallSize에 담는 셈이다.
bigSize와 smallSize를 sorted() 메서드를 이용해 내림차순으로 정렬하고 width, height 라는 배열에 담은 뒤
width, height의 0번째 인덱스를 곱하였다.
내 코드
import Foundation
func solution(_ sizes:[[Int]]) -> Int {
var bigSizes = [Int]()
var smallSizes = [Int]()
for i in 0..<sizes.count{
if sizes[i][0] > sizes[i][1]{
bigSizes.append(sizes[i][0])
smallSizes.append(sizes[i][1])
}else{
bigSizes.append(sizes[i][1])
smallSizes.append(sizes[i][0])
}
}
let width = bigSizes.sorted(by:>)
let height = smallSizes.sorted(by:>)
return width[0] * height[0]
}
import Foundation
func solution(_ sizes:[[Int]]) -> Int {
var bigSizes = [Int]()
var smallSizes = [Int]()
for i in 0..<sizes.count{
if sizes[i][0] > sizes[i][1]{
bigSizes.append(sizes[i][0])
smallSizes.append(sizes[i][1])
}else{
bigSizes.append(sizes[i][1])
smallSizes.append(sizes[i][0])
}
}
let width = bigSizes.sorted(by:>)
let height = smallSizes.sorted(by:>)
return width[0] * height[0]
}
'Swift랑 친해지기 > programmers 풀기' 카테고리의 다른 글
[프로그래머스] 숫자 문자열과 영단어 (Swift) (1) | 2022.09.25 |
---|---|
[프로그래머스] 문자열 내 마음대로 정렬하기 (Swift) (1) | 2022.09.25 |
[프로그래머스] 시저 암호 (Swift) (0) | 2022.09.22 |
[프로그래머스] 이상한 문자 만들기 (Swift) (1) | 2022.09.21 |
[프로그래머스] 피보나치 수 (Swift) (0) | 2022.09.20 |