전체 글 31

[BOJ] 9965 - 돌 게임

https://www.acmicpc.net/problem/9965문제돌 게임은 두 명이서 즐기는 재밌는 게임이다. 탁자 위에 돌 N개가 있다. 상근이와 창영이는 턴을 번갈아가면서 돌을 가져가며, 돌은 1개 또는 3개 가져갈 수 있다. 마지막 돌을 가져가는 사람이 게임을 이기게 된다. 두 사람이 완벽하게 게임을 했을 때, 이기는 사람을 구하는 프로그램을 작성하시오. 게임은 상근이가 먼저 시작한다.입력첫째 줄에 N이 주어진다. (1 ≤ N ≤ 1000)출력상근이가 게임을 이기면 SK를, 창영이가 게임을 이기면 CY을 출력한다.전체 코드더보기#include using namespace std;int main(){ ios_base::sync_with_stdio(false); cin.tie(nullptr); co..

백준 알고리즘 2025.05.22

추상 클래스(Abstract Class)와 인터페이스 클래스(Interface Class)

추상 클래스(Abstract Class)와 인터페이스 클래스(Interface Class)에 대한 기초적 고찰초록(Abstract)본 논문은 객체지향 프로그래밍(Object-Oriented Programming, OOP)의 핵심 개념 중 하나인 추상 클래스(Abstract Class) 와 인터페이스 클래스(Interface Class) 의 개념, 구조, 사용 목적을 설명하고 이 둘의 차이를 비교한다. 개발자가 추상화(abstraction)와 다형성(polymorphism)의 기초를 이해할 수 있도록 실생활의 유사 개념과 C++ 기반의 예시 코드를 통해 설명한다. 또한 다중 상속, 기능 계약, 코드 재사용성 등의 개념을 명확하게 구분하여 실무 적용을 돕는다.1. 서론(Introduction)복잡한 소프트웨..

AI 2025.05.15

C++ 힙, 해시, 트리 기반의 컨테이너 비교 분석

시간복잡도 관점에서 본 C++ 컨테이너의 비교 분석 : 해시, 힙, 트리 기반 구조를 중심으로초록 (Abstract)본 논문은 C++ 표준 라이브러리에서 제공하는 비선형 컨테이너 중 힙(std::priority_queue), 해시(std::unordered_map, std::unordered_set), 트리(std::map, std::set) 기반 컨테이너를 시간복잡도 관점에서 비교 분석한다. 각 컨테이너가 제공하는 연산(삽입, 삭제, 탐색, 정렬)의 이론적 복잡도를 구조적으로 분석하고, 컨테이너 내부 구현에 따른 차이를 정리함으로써, 성능 최적화 측면에서의 선택 기준을 제시한다. 실측 성능이나 구현체 간 차이는 배제하고, 알고리즘 복잡도와 구조 기반의 이론 분석에 초점을 둔다.1. 서론 (Introdu..

AI 2025.05.12

[Gdiplus::Graphics] 최적화 관련 팁 정리

사내 신규 개발항목에서 성능이슈가 발생했다.그래서 끌려갔다 ( 거 그만좀 갖다 써... ) 주요 내용은 Gdiplus::Graphics 항목으로 DrawImage 대상이 늘어나면 성능하락이 심각하다는 것이다.이에 관련해 찾아본 내용을 간단하게 정리해둔다.  Gdiplus::CompositingMode 설정: 투명도(alpha)가 없는 불투명한 비트맵(특히 32비트 비트맵의 경우)을 사용하는 경우, DrawImage() 호출 전에 Graphics.CompositingMode를 CompositingMode.SourceCopy로 설정하세요. 그래야 픽셀 단위의 불필요한 혼합 계산을 건너뛸 수 있습니다. 설정 후에는 꼭 원래 값으로 되돌려주세요. 그렇지 않으면 일반적인 드로잉 프리미티브가 보기 흉하게 보일 수 ..

MFC 2025.02.18

Unreal Engine 5에서 Shipping 빌드 및 패키징 에러에 대해

이번에도 요약은 맨 아래에 1. Shipping 빌드 및 패키징 에러 현상 및 원인소스코드 기반의 프로젝트를 Unreal Engine 5(UE5)로 개발하고 나서 배포하려면 'Shipping' 으로 패키징을 해야  한다.이때, Unreal의 에디터 기능을 소스코드로 개발하고 Shipping으로 빌드 하거나 패키징을 할 때 아래와 같은 오류를 직면하기도 한다. - UnrealEd 모듈을 사용한 경우를 예시로 작성되었습니다 - 더보기// Shipping_Test.Build.cspublic class Shipping_Test : ModuleRules{ public Shipping_Test(ReadOnlyTargetRules Target) : base(Target) { PCHUsage =..

Unreal 2024.11.01

[C++] 'enum class' 란?

요약은 맨아래 C++ 11 버전에서 새로 도입된 열거형이다.(참고로 열거형이란 '상수 집합을 정의하는 강력한 도구' 라고 한다.  1,2,3... 등) 이전에는 enum 키워드를 사용하여 열거형(상수 집합)을 쓸 뿐이였지만 class 형태로 고도화 된 것이다. 가장 큰 차이점은 enum 의 경우 아래와 같은 사용이 가능하나enum Number { One = 1, Two, Three,};Number myNumber = Number::Three; // myNumber == 3std::cout  enum class 의 경우 불가능하다enum Number { One = 1, Two, Three,};Number myNumber = Number::Three; // myNumber =..

C,C++ 2024.06.01

Roll, Pitch, Yaw 란? (오일러 축)

언제나 처럼 요약은 맨 아래 ㅎ Pitch, Roll, Yaw 라고 불리는 이 축들은 오일러 축에서 각각 수평, 종, 횡 방향의 회전을 뜻한다 정면을 기준으로 하기와 같은 축을 중심으로 설정한다.Roll : X축 (오른쪽 진행 방향)Pitch : Y축 (뒤쪽 진행 방향)Yaw : Z축 (위쪽 진행 방향)1. Roll (수평 방향 축 회전)Roll은 X축을 기준으로 하는 회전마치 고개를 끄덕이는 것과 같은 방향으로 회전한다.2. Pitch (정면 방향 축 회전)Pitch는 Y축을 기준으로 하는 회전 축마치 고개를 갸웃이는 것과 같은 방향으로 회전한다.3. Yaw (종 방향 회전)Yaw은 Z축을 기준으로 하는 회전 축마치 고개를 도리짓 하는 것과 같은 방향으로 회전한다. - 요약 - Roll : 끄덕끄덕 -..

Physics 2024.04.01

[BOJ] 백준 22490 : 선형 연립 방정식

https://www.acmicpc.net/problem/22940 22940번: 선형 연립 방정식하나 이상의 미지수에 대해 최고차항의 차수가 1을 넘지 않는 방정식을 선형 방정식이라 한다. 족, 다음과 같은 식을 의미한다. A1x1 + A2x2 + ... + Anxn = B 선형 연립 방정식이란 유한개의 선형 방www.acmicpc.net전체 코드더보기#include using namespace std;void q_sort(double **x, int col, int start, int end){ if (start >= end) return; double piv = abs(x[start][col]); int i = start + 1; int j = end; whi..

백준 알고리즘 2023.10.10

백준 8393 문제 풀이

https://www.acmicpc.net/problem/8393 문제 n이 주어졌을 때, 1부터 n까지 합을 구하는 프로그램을 작성하시오. 입력 첫째 줄에 n (1 ≤ n ≤ 10,000)이 주어진다. 출력 1부터 n까지 합을 출력한다. 해당 문제는 아주 유명한 일화를 바탕으로 나온 알고리즘 문제이다. [ 1 ~ 100 까지의 모든 숫자의 합을 구하여라 ] 라는 문제를 몇초만에 풀었다는 학생의 일화가 유명하다. 풀네임을 잘 모를수 있으나 '가우스'는 많이들 들어 봤을 것이다. (풀네임 : 카를 프리드리히 가우스) 위 가우스 일화를 기반으로 나온 계산식은 아래와 같다. 더보기 가우스의 등차수열의 합 계산 방식 : 1, 2, 3, 4 ... 100 100, 99, 98, 97 ... 1 1 ~ 100 까지..

백준 알고리즘 2023.07.18
반응형