본문 바로가기

백준177

Swift) 백준 4375번 (1)(종료조건 EOF) 요구능력 : EOF를 쓸줄아느냐, 기본적인 수학 코드설명 : 1. 문제에서 별도의 종료조건이 없기 때문에 EOF를 사용한다. 이 때, 스위프트에서는 별도의 EOF가 없기 때문에 while문에서 코드와 같이 받아주면된다. commandLineTool에서도 입력받을 때 ctrl + d를 입력해주면 EOF를 쓸수있다. 2. next에는 1, 11, 111등이 들어갈 것인데, 이게 나누어 떨어지면 n의 배수이다. 3. next를 1, 11, 111, ... 를 만드려고 (next * 10) + 1 을 해준다. 4. 갑자기 next %= Int(n)! 을 왜? 사실, 안해도 답은 나온다. 나도 여기서 많이 헤맸는데, 알아보니 더 큰 수로 넘어가면 Int의 범위를 초과하기 때문에 컴파일에러가 나타나는 것이었다. 범.. 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.