ER 다이어그램
CS/데이터베이스2024. 2. 18. 15:56ER 다이어그램

개체, 애트리뷰트, 개체집합 개체(entity) 실세계에서 다른 객체들로부터 구분될 수 있는 객체를 개체라고 한다. 개체집합(entity set) 같은 종류의 개체들의 모임을 개체 집합이라고 한다. 애트리뷰트(attribute) 개체의 속성을 말한다. 어떤 두 개체에서 애트리뷰트들이 같다는 것은 두 개체가 같은 종류라는 것을 의미한다. 즉, 개체를 구분해주는 것은 속성, 애트리뷰트라는 것이다. 개체 집합과 관련한 각 애트리뷰트에 대해, 값의 범위인 도메인(Domain)을 지정해야 한다. ex) name 애트리뷰트는 1 ~ 20 개의 문자들로 이루어진 문자열. 키(key) 주어진 집합에 속하는 한 개체를 유일하게 식별하는 값을 갖는 최소 개의 애트리뷰트들로 이루어진 집합을 말한다. 최소성을 충족하지 않아도..

백준 1030번 프랙탈 평면 - C++
Algorithm/BOJ PS2024. 2. 18. 15:33백준 1030번 프랙탈 평면 - C++

문제 프렉탈 평면은 다음과 같이 커진다. 시간 0에서 프렉탈은 흰색 정사각형 하나이다. 단위 시간(1)이 진행될 때마다 N×N개의 크기가 동일한 단위 정사각형으로 나누어진다. 만약 나누어진 정사각형이 흰색이라면 가운데 K×K 정사각형이 검정색으로 채워진다. N과 K는 둘 다 홀수이거나, 둘 다 짝수이다. 예를 들어, N=3, K=1이라면, 시간 1에 3×3 정사각형이 된다. 가운데 정사각형은 검정색이고, 나머지는 흰색이 된다. 시간 2때 9×9 정사각형이 되고, 17개는 검정이고, 나머지는 흰색이다. s, N, K, R1, R2, C1, C2가 주어질 때, 시간 s일 때, R1행 C1열부터 R2행 C2열까지의 모습을 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 7개의 정수 s, N, K, R1, R2..

백준 1065번 한수 - SWIFT, C++
Algorithm/BOJ PS2024. 2. 18. 15:28백준 1065번 한수 - SWIFT, C++

문제 어떤 양의 정수 X의 각 자리가 등차수열을 이룬다면, 그 수를 한수라고 한다. 등차수열은 연속된 두 개의 수의 차이가 일정한 수열을 말한다. N이 주어졌을 때, 1보다 크거나 같고, N보다 작거나 같은 한수의 개수를 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 1,000보다 작거나 같은 자연수 N이 주어진다. 출력 첫째 줄에 1보다 크거나 같고, N보다 작거나 같은 한수의 개수를 출력한다. 문제 링크 1065번: 한수 어떤 양의 정수 X의 각 자리가 등차수열을 이룬다면, 그 수를 한수라고 한다. 등차수열은 연속된 두 개의 수의 차이가 일정한 수열을 말한다. N이 주어졌을 때, 1보다 크거나 같고, N보다 작거나 www.acmicpc.net 풀이 수의 각 자릿수가 등차수열을 이루는 지를 확인하는 ..

분리집합과 Union-Find
Algorithm/Algorithm 개념2024. 2. 17. 23:30분리집합과 Union-Find

개요 우리가 집합이라는 개념을 생각했을 때 보통 아래의 그림처럼 벤-다이어그램으로 생각을 하곤 한다.▼ 그런데 이런 집합이라면 아래와 같이 배열로 표현할 수 있다.▼ 하지만 두 원소가 같은 집합에 있는지를 판단하라고 하면 약간 곤란해진다. A집합에 있는 1 원소와 B집합에 있는 5 원소가 같은 집합에 있는지를 판단하려면 A집합이나 B집합을 다 확인해야한다. A집합에 5 원소가 있는 지 없는 지, B집합에 1 원소가 있는지 없는 지를 확인해야한다. ▼ 배열로 구현하게 되면 집합의 대표를 알아내기가 힘들어서 같은 원소에 대해서 또 확인하게 되면 같은 연산을 계속 수행해야한다. 심지어는 두 집합이 서로소인것을 알아내어 합한다고 했을 때도, 원소를 옮기는 과정에서의 연산도 적지않게 수행된다. ▼ 이런 집합에 대..

비트마스킹
Algorithm2024. 2. 16. 21:40비트마스킹

개요 프로그래밍을 하다보면 상태를 저장해야할 때가 종종 생긴다. 예를 들면, 내가 주인공 캐릭터가 죽었는지 살았는지를 체크한다거나, 주인공이 공격력 두배 효과를 받고 있다거나, 주인공이 특정 아이템을 갖고 있다거나 등등 … 한 주인공의 상태를 엄청나게 많이 표시해야할 때가 등장한다. 그런데 이 상태들을 표시할 때, 한 상태당 int 하나씩 쓰게 되면 0과 1밖에 쓰지 않는데 불필요한 자원을 쓰게 된다. 그렇다고 0과 1만 쓰는, 1byte도 아닌 1bit 크기의 데이터형식이 존재하지 않는다. 허나 잘 생각해보면, 1bit는 자료형의 기본적인 단위다. 즉, 1bit 크기를 찾을게 아니라, int를 1bit 플래그가 32개 붙어있다고 생각하자는 것이다. int의 각 비트를 플래그로 생각하자는 이야기이다.▼ ..

[Flutter][Error] CocoaPod Dependency 오류
Develop/Flutter2024. 2. 16. 21:04[Flutter][Error] CocoaPod Dependency 오류

개요 프로젝트에서 사용하는 DB로 Firebase firestore를 사용하려고 했다. 사용하기 간편하고 팀에 백엔드가 없는 상황에서 가장 사용하기 쉽기에 firestore를 사용할 계획이었다. 그러나 플랫폼의 특징을 띠고 있는 현재의 프로젝트 특성상 종속성이 없는 firestore는 문제가 있다고 판단이 되었다. 그리고 아래와 같이 프로젝트 방향성도 바뀌게 되면서 DB를 바꿔야 하는 상황이 되어버렸다. 바뀐 프로젝트 방향성 더보기 노인의 todos를 추가하자 장점) 1. 로그인 할때 노인의 정보를 가져올때 투두 정보를 전부 가져올 수 있다 2. 보호자가 구독중인 노인들 투두 정보를 가져올 때, 정보를 같이 가져오지 못해서 노인의 정보를 가져오려면 한 명 한명 일일이 쿼리를 또 날려야한다. 합치면 한 번..

[SWIFT] 문자열과 문자
Develop/iOS2024. 2. 16. 20:56[SWIFT] 문자열과 문자

문자열과 문자 String(문자열)은 "Hello World"와 같이 Character(문자)들이 합쳐진 것이라고 볼 수 있다. Swift에서 문자열 및 문자 타입은 코드에서 텍스트를 유니코드 호환 방법으로 제공하고 문법적인 부분은 C와 비슷하다. 문자열의 연결은 `+` 연산자를 사용하여 수행할 수 있다. 물론 문자열도 상수와 변수로 선언하여 변경 가능성을 관리해 주어야한다. 문자열 보간을 통해 어떠한 문자열에서 다른 문자열을 불러올 수도 있다. Swift의 문자열은 유니코드 문자로 구성된다고 한다. String Literals 개발자는 미리 정의되어 있는 String 값으로 문자열을 사용할 수 있다. 문자열을 사용할 때는 두 개의 `"` 안에 원하는 문자열을 써주면 된다. Multiline String..

[SWIFT] 기본 연산자들
Develop/iOS2024. 2. 16. 19:44[SWIFT] 기본 연산자들

기본 연산자들 Operators(연산자)는 값을 확인, 변경 또는 결합하는 데 사용하는 특수 기호 또는 Phrase이다. 예를 들어 `+` 연산자나 `&&` 연산자가 있다. Swift는 C언어 연산자의 여러 코딩 오류를 제거하기 위해 기능을 향상시킨 연산자를 지원한다. `=` 연산자는 값을 반환하지 않는데 이는 `==` 연산자와의 혼동에 의해 실수로 사용되지 않도록 하기 위해서다. 산술 연산자(`+`,`-`,`*`,`/`)는 값 오버플로를 감지하고 오류를 발생시키기 때문에 허용된 값보다 크거나 작은 숫자를 사용할 수 없게 도와준다. Swift는 C에서는 찾을 수 없는 `.. `, `=`, `≤` Swift 연산자에는 `===`, `!==`도 있는데 이는 두 객체 참조가 모두 동일한 객체 인스턴스를 참조하..

[SWIFT] Swift 문법의 기초
Develop/iOS2024. 2. 15. 19:28[SWIFT] Swift 문법의 기초

Swift 문법의 기초 Swift는 IOS, macOS, watchOS, tvOS를 만들기 위한 새로운 프로그래밍 언어이다. 기초적인 자료형으로는 Int, Double, Float, Bool, String, Array, Set, Dictionary가 있다. C언어와 마찬가지로 Swift는 값을 저장하고 참조하기 위해 변수를 사용하고 이름으로 변수를 구분한다. Swift에는 변수 중에서도 값을 변경할 수 없는 Constant(상수)를 제공하고 이로 인해 C에서 보다 더 많은 기능을 수행할 수 있다. Swift에는 Objective-C에서는 볼 수 없는 tuple(튜플) 형식도 제공한다. 튜플을 사용해서 여러 값을 하나의 값으로 반환할 수도 있다. Swift에서는 Optional Type(옵셔널 타입)을 제..

[iOS][ERROR] Button AddTarget 에러
Develop/iOS2024. 2. 15. 18:01[iOS][ERROR] Button AddTarget 에러

문제 발생 Flutter를 하다가 다시 iOS 네이티브를 공부하려고 돌아오면서 몇 가지 UI들에 대해 테스트를 해보고 있었다. 스토리보드를 사용하지 않고, 코드로만 UI 구성하기를 연습하고 싶어서 스토리보드를 없애고 하나씩 확인을 해보고 있었다. 그 중 버튼을 눌러서 다른 화면으로 넘어가는 것을 해보고 있었는데, 아래의 코드에서 오류가 나기 시작했다. ▼ class ViewController: UIViewController { let testButton : UIButton = { let button = UIButton() button.setTitle("Button", for: .highlighted) button.layer.cornerRadius = 20.0 button.backgroundColor = ..

image