전체 글

전체 글

    [백준 / BOJ] C++ 1992 쿼드트리

    [백준 / BOJ] C++ 1992 쿼드트리

    https://www.acmicpc.net/problem/1992 1992번: 쿼드트리 첫째 줄에는 영상의 크기를 나타내는 숫자 N 이 주어진다. N 은 언제나 2의 제곱수로 주어지며, 1 ≤ N ≤ 64의 범위를 가진다. 두 번째 줄부터는 길이 N의 문자열이 N개 들어온다. 각 문자열은 0 또 www.acmicpc.net 문제 풀이 이 문제는... 처음에 이해하는게 힘들었다. 풀이 하자면 문제에서 요구하는 방법은 왼쪽 위, 오른쪽 위, 왼쪽 아래, 오른쪽 아래 즉 Z 순서로 숫자를 비교하고 탐색하는 것이다. 위 이미지 같은 경우 (01(1101)(0011)이 되는것 이다. 그렇다면, N은 항상 2의 제곱수로 주어지니, 첫번째로 영상의 모든 수가 동일한지 확인하고, 동일하지 않다면 모든 비디오 영상을 4..

    [백준 / BOJ] C++ 1780 종이의 개수

    [백준 / BOJ] C++ 1780 종이의 개수

    https://www.acmicpc.net/problem/1780 1780번: 종이의 개수 N×N크기의 행렬로 표현되는 종이가 있다. 종이의 각 칸에는 -1, 0, 1 중 하나가 저장되어 있다. 우리는 이 행렬을 다음과 같은 규칙에 따라 적절한 크기로 자르려고 한다. 만약 종이가 모두 같은 수 www.acmicpc.net 문제 풀이 한변의 크기가 N인 정사각형을 입력받는다. 입력 받은 후 문제에서 제공되는 조건으로 종이를 자르거나 더해주거나 한다. 우선 전체 입력받을 종이 3^7 사이즈 2차원 배열과, 결과값을 저장할 result 배열을 선언한다. 다음 해당 종이의 행과 열의 숫자들을 비교하고, 모두 동일한 수인지 판단을 한다. 동일한 수가 아닐 경우, 입력받은 크기 N에 3을 나누어 해당 크기만큼 다시..

    [백준 / BOJ] C++ 1764 듣보잡

    [백준 / BOJ] C++ 1764 듣보잡

    https://www.acmicpc.net/problem/1764 1764번: 듣보잡 첫째 줄에 듣도 못한 사람의 수 N, 보도 못한 사람의 수 M이 주어진다. 이어서 둘째 줄부터 N개의 줄에 걸쳐 듣도 못한 사람의 이름과, N+2째 줄부터 보도 못한 사람의 이름이 순서대로 주어진다. www.acmicpc.net 문제 풀이 N 만큼 입력받은 문자열들과 M만큼 입력받은 문자열들 중, 겹치는 문자열을 정렬한채로 출력하는 문제이다. 알파벳 순으로 정렬되는 기능인 sort를 사용하였고, 입력되는 문자열들은 vector에 저장하였다. 그리고 겹치는 문자열이 있는지 유무 확인은 이진탐색(binary_search)으로 하였다. 이후 겹치는 문자열들을 출력할 vector에 저장하고, 출력하였다. 특정한 알고리즘을 사용..

    [Git / Github] Git cherry-pick

    [Git / Github] Git cherry-pick

    git cherry-pick 이란? 두 브랜치를 병합하는 대신 다른 브랜치의 커밋을 선택적으로 작업 브랜치에 추가해야할 때도 있다. 그럴 경우 git cherry-pick을 사용한다. 다음과 같은 경우 사용이 가능하다. 사용자에게 배포된 기능에서 치명적 결함을 발견했다. 이 결함으로 사용자는 정상적인 서비스 이용이 불가능하다. 이미 개발이 완료가 되어 배포중인 다른 커밋들과 상관없이 결함을 수정한 커밋만을 서비스 운영 브랜치에 추가한다. 새로운 기능을 개발해 커밋을 생성했다. 커밋을 생성한 후, 현재 작업 브랜치가 잘못된 것을 발견했다. 의도한 브랜치로 작업 브랜치를 변경한 후, 잘못된 브랜치에서 생성한 커 밋을 현재 작업 브랜치에 추가할 수 있다. 우선 test_branch에 수정내용을 push한다. ..

    [C#] 압축파일 압축 풀지않고 이미지 가져오기

    [C#] 압축파일 압축 풀지않고 이미지 가져오기

    압축을 풀지않고 가져오는방법은 나는 2가지 분류로 나누어 구현해보았다. 흔히들 사용하는 zip 파일 이미지 가져오는것, 우리(개발자)가 사용하는 7z 파일의 이미지를 가져오는것 우선 zip파일이미지를 압축풀지않고 이미지를 가져오는 방법이다. DotNetZip 우선 2가지 방법 모두 Nuget 패키지 다운을 받아서 이용하였다. DotNetZip 을 다운받은 후에 아래 코드를 참조하자. using (FileStream fStream = new FileStream(ImagePath, FileMode.OpenOrCreate, FileAccess.ReadWrite)) using (Ionic.Zip.ZipFile zip = Ionic.Zip.ZipFile.Read(ImagePath)) { foreach (Ionic..

    [SQL 개발자] 1과목 데이터 모델링의 이해 요약정리 (1)

    데이터 모델의 이해 발생시점에 따른 엔터티 분류 기본/키엔터티 중심엔터티 행위엔터티 데이터 모델링이란? 정보시스템을 구축하기 위한 데이터 관점의 업무 분석 기법 현실세계의 데이터(what)에 대해 약속된 표기법에 의해 표현하는 과정 데이터베이스를 구축하기 위한 분석/설계의 과정 데이터 모델링의 유의점 중복(Duplication) 비유연성(Inflexibillity) 비일관성(Inconsistency) 데이터 모델링의 종류 ★★★ 개념 데이터모델링 논리 데이터모델링 물리 데이터모델링 개념적 데이터 모델링 ★★★ - 추상화 수준이 높고 업무중심적이며 포괄적 수준의 모델링 진행. EA수립시 많이 이용 논리적 데이터 모델링 ★★★ - 시스템으로 구축하고자 하는 업무에 대해 Key, 속성, 관계등을 정확하게 표현..

    [C#] List에서 근사값 찾기

    List에 저장되어있는 값과 구하고자 하는 값이 일치하지않아 근사값을 찾아 해당 값의 index를 구해오는 코드가 필요했다. 아래 코드들을 이용하여 구했지만.. 결국 연산 속도때문에 사용하진 않았다.. 첫번째로 foreach 문을 사용한 근사값 찾기이다. List findList = new List() {1,3,5,7,9}; int input = 4; int closest = myList[0]; int idx = 0; foreach (int num in myList) { if (Math.Abs(input - num) < Math.Abs(input - closest)) { closest = num; } } idx = findList.IndexOf(closest); 해당 코드는 List안에 있는 값을 반복하..

    [OpenCV4] C# Bitwise 연산

    [OpenCV4] C# Bitwise 연산

    Bitwise 연산 Bitwise 연산에는 4가지가 있다. BitwiseAnd BitwiseOr BitwiseXor BitwiseNot 실제로 나의 경우는 BitwiseNot은 종종 사용하지만 다른 함수들의 경우에는 사용 빈도수가 낮은편이다. 예를들면 어떠한 이미지의 배경에 다른 이미지를 삽입 하였을 경우, 배경을 지우는 처리를 할때, grayscale을 바꿔주어 BitwiseNot 연산을 한다던지.. 그런식으로 사용한다. 더구나 C#에서는 포인터가 없기에, 비트맵의 RGB 데이터에 접근하기 위해선 꽤나 귀찮다. And와 Or, Xor, Not 연산은 보통은 대학교 1학년때 ? 배운 논리수학에 나왔던 내용과 해당 비트 연산은 동일하다. 우선, 아래는 기본 이미지와, 단일 채널로 바꿔준 이미지이다. And..