목록전체 글 (165)
현제의 현재이야기

18310번: 안테나 첫째 줄에 집의 수 N이 자연수로 주어진다. (1≤N≤200,000) 둘째 줄에 N채의 집에 위치가 공백을 기준으로 구분되어 1이상 100,000이하의 자연수로 주어진다. www.acmicpc.net n = int(input()) arr = list(map(int,input().split())) arr = sorted(arr) print(arr[(n - 1)//2]) 중앙값을 구하면 된다...

2644번: 촌수계산 사람들은 1, 2, 3, …, n (1 ≤ n ≤ 100)의 연속된 번호로 각각 표시된다. 입력 파일의 첫째 줄에는 전체 사람의 수 n이 주어지고, 둘째 줄에는 촌수를 계산해야 하는 서로 다른 두 사람의 번호가 주어 www.acmicpc.net all_people = int(input()) target_a, target_b = map(int, input().split()) m = int(input()) graph = [[] for _ in range(all_people + 1)] visited = [False] * (all_people + 1) for _ in range(m): x, y = map(int, input().split()) graph[x].append(y) graph[y..

class Soldier{ let name: String var hp: Int var needMoney : Int? init?(name: String, hp: Int) { if hp > 50000 { return nil } if name.count

상속 프로토콜, 클래스에서 가능하고 열겨형, 구조체는 상속이 불가능하다. 다중상속은 불가능, 단일 상속만 가능하다. final은 자식한테 상속했을 때, 재정의를 할 수 없게 만들어준다. 재정의가 가능한 타입 메서드 = class 하지만 class도 앞에 final이 붙으면 상속이 불가능하다. static과 똑같은 동작을 한다. 상속 받은 자식이 부모의 변수를 바꾸려면 override를 적으면 된다. class Person { var name: String = "" func selfIntroduce() { print("저는 \(name)입니다") } // final 키워드를 사용하여 재정의를 방지할 수 있습니다 final func sayHello() { print("hello") } // 타입 메서드 //..

열거형 안의 프로퍼티는 무조건 연산 프로퍼티만 가능하다. 연산 프로퍼티는 읽기 전용이고, 쓰기 전용만은 안된다. 읽기와 쓰기를 다하는 연산은 get과 set을 사용한다. struct Money { var currencyRate: Double = 1390.03 var dollar: Double = 0 var won: Double { get { return dollar * currencyRate } set { dollar = newValue / currencyRate } } } var moneyInMyPocket = Money() moneyInMyPocket.won = 11000 print(moneyInMyPocket.won) print(moneyInMyPocket.dollar) moneyInMyPocket..

클로저 let add : (Int, Int) -> Int add = { (a: Int, b: Int) in return a + b } func calculate(a: Int, b: Int, method: (Int, Int) -> Int) -> Int { return method(a, b) } print(calculate(a: 50, b: 40, method: add)) var calculated : Int calculated = calculate(a: 50, b: 40, method: { (left: Int, right: Int) -> Int in return left + right }) print(calculated) // 90 90 함수에 인달인자로 많이 사용된다. 문법이 함수랑 비슷해서 헷갈릴 수도..