분류 전체보기302 백준 : 1475 방 번호 C++ #include #include #include #include int main() { // 코테에서만 사용하는 함수들 // 개발 환경에서는 사용x std::ios::sync_with_stdio(false); std::cin.tie(nullptr); int RoomNumber; // 방 번호를 입력 std::cin >> RoomNumber; float Array[10] = {}; for (int i = 0; i < RoomNumber;) { int Index = RoomNumber % 10; // 6, 9는 하나로 취급이여서 반으로 쪼갠다고 생각함. if (Index == 6 || Index == 9) { Array[6] += 0.5f; Array[9] += 0.5f; } else Array[Index].. 백준 2022. 9. 5. 백준 : 2577 숫자의 개수 #include #include #include int main() { // 코테에서만 사용하는 함수들 // 개발 환경에서는 사용x std::ios::sync_with_stdio(false); std::cin.tie(nullptr); int NumberA, NumberB, NumberC; std::cin >> NumberA >> NumberB >> NumberC; // 곱한값을 얻은다음 int Result = NumberA * NumberB * NumberC; int Array[10] = {}; // 해당 자리수 만큼 포문을 돌림 for (int i = 0; i < Result;) { // 나머지연산자를 이용해 해당 인덱스값을 더해줌 Array[Result % 10]++; // 10을 나눠주어 계속 10.. 백준 2022. 9. 5. 백준 : 10808 알파벳 개수 #include #include #include int main() { // 코테에서만 사용하는 함수들 // 개발 환경에서는 사용x std::ios::sync_with_stdio(0); std::cin.tie(nullptr); std::string Name; std::cin >> Name; std::vector vecArray; vecArray.resize(26); for (int i : Name) { for (char j = 'a'; j 백준 2022. 9. 2. deque 정의 및 시간복잡도 deque 정의 앞, 뒤 전부 삽입 삭제가 가능함 Restricted Structure 시퀀스 컨테이너이자, 배열 기반 컨테이너입니다 시간복잡도 1. 원소의 추가O(1) 2. 원소의 제거O(1) 3. 제일 앞/뒤의 원소 확인O(1) 4. 제일 앞/뒤가 아닌 나머지 원소들의 확인/변경이 원칙적으로 불가능 (단, stl deque에는 인덱스로 접근이 가능함) c++/자료구조 간단 이론 2022. 8. 23. Stack 간단 정의, 시간복잡도 Stack 정의 스택은 대표적인 후입선출(LIFO) 방식의 자료 구조입니다. 가장 나중에 저장된 데이터가 가장 먼저 제거되는 구조입니다. 기본 함수로는 push, pop, empty, top, size이 있습니다 후입선출(LIFO) : Last In First Out 컨테이너 Stack는 컨테이너 어뎁터이다. 어뎁터 컨테이너는 다른 컨테이너 클래스들을 상속 받아서 다른 컨테이터 클래스의 객체에 특정한 인터페이스를 제공해주는 개념이다. 단, 반복자를 지원하지 않으므로 STL 알고리즘에서는 사용할 수 없다. 시간복잡도 1. 원소의 추가O(1) 2. 원소의 제거O(1) 3. 제일 상단의 원소 확인O(1) 4. 제일 상단이 아닌 나머지 원소들의 확인/변경이 원칙적으로 불가능 c++/자료구조 간단 이론 2022. 8. 23. List 간단 정의 성질 및 종류 list : 노드형 시퀀스 컨테이너 연결 리스트의 성질 1. K번째 원소를 확인/변경하기 위해 O(k)가 필요함 2. 임의의 위치에 원소를 추가/임의 위치의 원소 제거는 O(1) 3. 원소들이 메모리 상에 연속해있지 않아 Cache hit rate가 낮지만 할당이 다소 쉬움 연결 리스트 종류 1. 단일 연결 리스트(Singly Linked List) 2. 이중 연결 리스트(Doubly Linked List) 3. 원형 연결 리스트(Circular Linked List) 배열 vs 리스트 배열 리스트 k번째 원소의 접근 O(1) O(k) 임의 위치에 원소 추가 / 제거 O(N) O(1) 메모리 상의 배치 연속 불연속 추가적으로 필요한 공간 (Overhead) - O(N) c++/자료구조 간단 이론 2022. 8. 23. queue간단 정의, 성질 queue정의 큐는 대표적인 선입선출(FIFO) 방식의 자료 구조입니다. 가장 처음에 저장된 데이터가 가장 먼저 제거되는 구조입니다. 기본 함수로는 push, pop, front, back, empty, size이 있습니다 선입 선출구조 FIFO(First In First Out) 컨테이너 queue는 컨테이너 어뎁터이다. 어뎁터 컨테이너는 다른 컨테이너 클래스들을 상속 받아서 다른 컨테이터 클래스의 객체에 특정한 인터페이스를 제공해주는 개념이다. 단, 반복자를 지원하지 않으므로 STL 알고리즘에서는 사용할 수 없다. 시간 복잡도 1. 원소의 추가 O(1) 2. 원소의 제거O(1) 3. 제일 앞/뒤의 원소 확인O(1) 4. 제일 앞/뒤가 아닌 나머지 원소들의 확인/변경이 원칙적으로 불가능 c++/자료구조 간단 이론 2022. 8. 23. 램버트 조명 공식 램버트 조명 공식 환경광 (Ambient Light) + 확산 반사광 (Diffuse Light) = 빛의 세기 * 물체의 색 + 빛의 세기 * 물체의 색 * (N ● L) 여기서 N은 노멀 벡터이고 L은 광원 벡터값이 들어가게 됨 물체의 색(물체의 반사 계수) 이론 2022. 8. 9. 렌더링 파이프라인 구조 렌더링 파이프라인 구조 Input Assembler (입력 조립기) ▼ Vertex Shader (정점 셰이더) ▼ Hull Shader (덮개 셰이더) ▼ Tessellator (테셀레이터) ▼ Domain Shader (영역 셰이더) ▼ Geomatry Shader (기하 셰이더) ▼ Rasterizer (레스터화기) ▼ Pixel Shader (픽셀 셰이더) ▼ Output Merger (출력 병합기) Input Assembler(입력 조립기) 정점(Vertex)정보와 기본도형 위상구조의 정보를 얻어와 해당 정보들로 조립하는 역할을 수행한다 Vertex Shader(정점 셰이더) 사용자의 정의로 구현하여 GPU에 넘겨주고 모든 정점들에 대해 한 번씩 실행이 된다. (변환, 조명, 변위 매핑) Hul.. 이론 2022. 8. 9. 0x00 시간 복잡도 순서 O(1) < O(lgN) < O(N) < O 이론 2022. 8. 2. HLSL 함수 #ifndef __MATRIX_INCLUDED__ #define __MATRIX_INCLUDED__ #define IDENTITY_MATRIX float4x4(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1) float4x4 inverse(float4x4 m) { float n11 = m[0][0], n12 = m[1][0], n13 = m[2][0], n14 = m[3][0]; float n21 = m[0][1], n22 = m[1][1], n23 = m[2][1], n24 = m[3][1]; float n31 = m[0][2], n32 = m[1][2], n33 = m[2][2], n34 = m[3][2]; float n41 = m[0][3], n42 = m[1][.. DX11 2022. 7. 9. HLSL 시맨틱 출처 : https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=cnfldidhd&logNo=20162240243 DX11 2022. 5. 24. 이전 1 ··· 16 17 18 19 20 21 22 ··· 26 다음