프로그래머스 코딩테스트 [ 크기가 작은 부분 문자열 ]
Github 링크
- 이 문제는 String은 Slicing 하는지 확인하는 문제이다.
- 다른언어에서는 String & Array의 문제일 수 있는데, Swift에서는 Index를 신경써야하는것 같다.
- str[0] 이런식으로 접근이 안되니깐, Index를 우선적으로 생성하고, 해당 범위를 갖는 String을 또 만들어야 한다. 그리고 str.substring(with:) 해당 함수는 deprecated Swift 4에서 사용한 방법이라서 아래 방법으로 접근해야한다.
var startIndex = t.index(t.startIndex, offsetBy: i)
var endIndex = t.index(startIndex, offsetBy:p.count)
var subString = t[startIndex..<endIndex]
프로그래머스 코딩테스트 [ 최소직사각형 ]
Github 링크
- 이 문제는 복잡한 문제는 아니지만 이러한 유형의 문제가 많을꺼 같아서 메모해놓는다.
- 명함이 다양하게 있고, 각 명함은 가로 길이와 세로 길이를 제공해주고, 모든 명함을 담을 수 있는 최소 면적을 갖은 지갑을 만들어야 하는건데, 단순하게 생각하면 쉬운것 같다.
- 각 명함의 가로와 세로를 비교해서, 긴거는 가로로, 짧은건 세로로 생각한다면, 명함을 눕혀 수납같은거 생각할 필요 없다.
- 즉 max(width,height) 가 가로 길이이고, 여태까지 측정한 최대 가로길이와 비교, max(maxWidth , max(width,height)
- min (width,height) 가 세로 길이이고, 최대 세로길이와 비교, max(maxHeight, (min(width,height) 하면 끝.