Algorithm236 Swift) 백준 18870번 (좌표압축) 요구능력 : 최대한 시간을 줄여서 코딩할 수 있느냐 코드설명 : 1. 입력 받은 수를 오름차순으로 정렬한 것을 반복하면서 비어있는 키에 값을 넣어준다. 이 때 오름차순 정렬이므로 맨 첫번째 수는 자기보다 작은 수가 하나도 없을 것이다. 그래서 0이고 다음 1 다음 2... 2. dictionary의 value를 굳이 반복문을 쓰지 않아도 한번에 출력할 수 있는 방법이다. 후기 : 시간단축하는게 정말 어려운것같다.. 답을 찾는 코드는 2가지정도 짜봤는데 시간초과때문에 다른 사람것을 보고 이해하고 넘어가기로 했다. 내가 항상 for문을 이용해서 받고 출력했던 것들을 굳이 for문없이 사용하고 출력하는 법을 배웠다. let n = Int(readLine()!)! let arr = readLine()!.spli.. 2021. 8. 24. Swift) 백준 10814번 (나이순 정렬) 요구능력 : 여러가지 변수를 보고 구조체를 사용할 생각을 하고 정렬을 활용할 줄 아느냐 코드설명 : 1. member구조체를 선언하여 필요한 요소인 name, age, order를 선언 2. member 구조체들을 저장하기위한 memArr배열을 선언 3. memArr배열에 member구조체들을 추가 4. memArr배열을 조건에 맞게 정렬 5. memArr에 저장된 각 배열의 원소의 나이와 이름을 출력 후기 : 딕셔너리와 sort()를 활용할 줄 알면 가벼운 문제 struct member{ //1번 var name: String var age: Int var order: Int } let n = Int(readLine()!)! var memArr: [member] = [] //2번 for i in 0.. 2021. 8. 23. Swift) 백준 1181번 (단어 정렬) 요구능력 : dictionary와 정렬함수를 함께 사용할 수 있느냐 코드설명 : 사실 value는 쓸모가 없다. 문제에서 말한 같은 단어가 입력되면 하나만 출력하래서 dictionary에 넣어준것이다. 핵심코드 단어(key)의 길이가 같으면 사전순으로 오름차순 정렬 단어(key)의 길이가 다르면 길이순으로 정렬 var sortedDict = dict.sorted { $0.key.count == $1.key.count ? $0 < $1 : $0.key.count < $1.key.count } 후기 : 딕셔너리와 sort()를 활용할 줄 알면 가벼운 문제 let n = Int(readLine()!)! var dict = [String : Int]() for _ in 0.. 2021. 8. 23. Swift) 백준 11651번 (좌표 정렬하기2) 요구능력 : 좌표기능과 정렬함수를 활용할줄 아느냐 코드설명 : Swift에 내장된 정렬함수를 사용했다. Swift에서는 좌표형태로 저장할 수 있는 강력한기능이 있다. sort()함수에 적은걸 설명해보자면, 앞에 좌표와 뒤의 좌표의 y좌표가 같다면 x좌표를 오름차순 같지않다면 y좌표를 오름차순한다. 후기 : 좌표문제는 어느정도 자신감이 붙은것같다. let n = Int(readLine()!)! var arr: [(Int, Int)] = [] for _ in 0.. 2021. 8. 23. 이전 1 ··· 46 47 48 49 50 51 52 ··· 59 다음