전체 글 198

Swift 문법과 친해지기 - 제네릭

제네릭 타입에 의존하지 않는 범용 코드를 작성할 때 사용 제네릭 방법으로 코드를 작성하는 경우 같은 내용의 함수를 오버로딩할 필요 없이 한 번만 작성하여 사용할 수 있다. 제네릭 타입 제네릭은 함수뿐만 아니라 구조체, 클래스, 열거형 타입에도 선언하여 사용할 수 있다. 제네릭을 선언할 때 를 사용하여 선언한다. 제네릭을 이미 우리는 알게 모르게 사용했었다..! let array: Array = .init() swift에서는 배열이 바로 제네릭으로 구현되어 있다! 타입 제약 프로토콜 제약 만약 매개변수 2개를 받아서 반환하는 함수를 만들었을 때 func isSameValues(_ a: T, _ b: T) -> Bool { return a == b } 해당 함수는 오류를 발생시킨다. → 반환할 때 '=='연..

iOS/문법 2023.01.06

백준[13305] 주유소

어려운 문제...ㅠ 문제를 풀때 생각한 경우의 수 현재 도시 주유소에서 현재 주유소 보다 저렴하고 가까운 다른 도시 주유소 까지 거리 x 현재 주유소 가격 현재 주유소가 가장 저렴한 경우 위 경우의 수를 생각하고 문제를 풀었는데... 문제 3번의 조건이 충복이 되지 않는다고 한다 ㅠ □ 소스 코드 #include /* 가격이 가장 싼 주유소가 나오면 남은 거리 모두 주유 도시에서 자신보다 작은 가격이 있는 경우 해당 지점거리 까지만 주유, 없는 경우 끝까지 주유 */ void gasStation(){ int n; //도시 개수 cin>> n; vector km; vector price; int totaldis = 0; // 각 도시 사이의 거리 입력 for(int i=0;i> dis; totaldis +..

알고리즘/Greedy 2023.01.05

백준[1541] 잃어버린 괄호

괄호를 사용하여 입력된 식을 최솟값으로 만드는 문제이다. 해결 방법 문자열에 -가 한 개라도 있으면 - 뒤의 숫자들은 모두 뺄셈처리를 하면 최솟값이 된다. 예시 '5-1+4+3-2+1+3'이라는 식이 입력되었을 때 최솟값으로 만들기 위해서는 괄호를 다음과 같이 지정하면 된다. '5-(1+4+3)-(2+1+3)'으로 괄호를 사용하면 해당 식의 최솟값이 나온다. □ 소스 코드 #include /* - 직후에 ( 시작 첫 번쨰 - 이후에 두번째 - 이전까지 괄호를 모든 식에 적용 -가 한개라도 있는 경우 모두 괄호처리를 통해 빼기 계산이 가능해 진다. */ void lost(){ string input; cin>>input; string shortNum; int result = 0; bool checkMinu..

알고리즘/Greedy 2023.01.05

백준[1931] 회의실 배정

해당 문제를 풀기 위해서 회의가 끝나는 시간들을 기준으로 오름차순 정렬을 한다. 가장 첫 번째 회의를 선택하여 계산을 진행하면 가장 많은 회의를 선택할 수 있다. □ 소스코드 #include // 회의가 끝나는 시간을 기준으로 오름차순 정렬하는 함수 bool sorting(pair p1, pair p2) { // compare 함수 if (p1.second == p2.second) { return p1.first > n; vector v; // 입력받는 구문 for(int i=0;i> start >> end; v.push_back(make_pair(start, end..

알고리즘/Greedy 2023.01.05