문제 코딩테스트 연습 - 기능개발 문제 해결 progresses 배열이 없어질 때 까지 반복을 한다. 첫 번째 element가 100 미만이면 진행도를 더해주고, count를 확인해 1이상이면 answer에 추가한다. 만약 100이상이라면 큐 처럼 가장 앞 원소를 삭제하고 count를 하나 늘린다. 위 작업을 반복하다 하나만 남았을 때 count만 올리고 나가지게 된다. 그러므로 바깥쪽에 count를 확인해 추가를 해 준다. 코드 func solution(_ progresses:[Int], _ speeds:[Int]) -> [Int] { var pro = progresses var spd = speeds var count = 0 var answer: [Int] = [] while (!pro.isEmpty..
문제 코딩테스트 연습 - H-Index 문제 해결 먼저 H-Index 산출법을 알아야 한다. h-index 산출 방법 발표 논문을 피인용횟수가 많은 순으로 정렬. 피인용횟수가 높은 순으로 번호를 부여. 논문의 번호(No)와 피인용횟수를 비교하여 피인용횟수가 논문의 번호(No)와 같거나 큰 번호(No)가 연구자의 h-index가 됩니다. 논문 인용 횟수를 내림차순으로 정렬한다. 배열의 index+1 값을 No.라고 생각하고 최초로 No.와 같거나 큰 인용횟수를 찾아 return한다. 코드 func solution(_ citations:[Int]) -> Int { var hIndex = citations.sorted(by: >) var answer = 0 for i in (0..).enumerated() {..
문제 코딩테스트 연습 - 가장 큰 수 해결 과정 전혀 어떻게 풀어야 할 지 감이 안 잡혔다. 그냥 모든 경우의 수를 만들고 비교하자니 오래 걸릴 것 같았고, 그 외의 방법은 아무리 생각해도 떠오르지 않았다. 결국은 풀이과정을 검색해서 알아보았다. 받은 수들을 3번 반복하여 저장하고 문자열로 비교 정렬한다. 이 방법을 사용해서 금방 만들어 보았다. var DictInt: [Int:String] = Dictionary(uniqueKeysWithValues: case3.map({ var temp: String = String($0) temp.append(temp+temp) return ($0, temp) })) var arr: [Int] = DictInt.sorted(by: {$0.value > $1.valu..
문제 코딩테스트 연습 - K번째수 코드 func solution(_ array:[Int], _ commands:[[Int]]) -> [Int] { var answer: [Int] = [] for index in 0..
AutoLayout? Autolayout은 동적으로 뷰 계층 구조에 있는 모든 뷰의 크기와 위치를 계산합니다. 기본적으로 constraints를 설정하여 View의 크기를 계산하여 배치하게 됩니다. Top, Bottom, Leading, Trailing Constraints를 설정할 수 있습니다. 아래 AspectRatio는 비율로 아이템 너비,높이를 설정할 수 있고, Equal Widths/Heights는 두 개의 아이템의 너비, 높이를 같게 설정할 수 있습니다. Constraint를 설정하게되면 Inspector에서 이렇게 확인 할 수 있습니다. Relation → 기본으로 Equal으로 되어있는데 ≤, ≥ 도 설정할 수 있습니다. Constant → AddNewConstraint를 할 때 설정하는 ..
입력 readLine() var input = readLine()! //String 으로 들어온다. var input = readLine()!.split(separator: " ").map {Int($0)!} //공백있는 숫자 나눠서 받을 때 강제 언래핑 해주는 것은 readLine의 타입이 Optional이 붙은 문자열이기 때문이다. 공백이 들어올 수 도 있으니깐! 진법 변환 n진수를 10진수로 변환 let binary = "111" // let decimal = Int(binary, radix: 2)! // radix가 현제 진법을 나타낸다. 10진수를 n진수로 변환 let decimal = 5 let binary = String(decimal, radix: 2) //uppercase를 true로 해..