전체 글 29

[자료구조와 알고리즘] 복습

#include #include #include using namespace std;int main(){ ios_base::sync_with_stdio(false); cin.tie(nullptr); cout.tie(nullptr); vector> v(5); string answer; for (int i = 0; i > s; for (char c : s) { v[i].push_back(c); } } for (int i = 0; i = 0; j--) { if (i 수행때 틀렸던 문제 PCCE 1회 기출문제 9번 복습 처음에 풀었던 방법 #include #include #include using namespace std;int solution(vector> board, int h, int ..

[자료구조와 알고리즘] 수행 대비

함수인수전달방식함수인수전달방식에는 Call byValueReferenceAddress가 있습니다. 1번 문제)두 개의 정수 a, b가 주어지면 두 개의 숫자 중 작은 수에는 10을 더하고큰 수 에는 2를 곱하여 저장한 후 출력하는 프로그램을 작성해보세요. 단, a, b를 인자로 하는 함수를 작성하여 값을 수정하고 출력은 함수 호출 이후에 진행하도록 합니다. 첫 번째 줄에 정수 a, b가 공백을 사이에 두고 주어집니다. 이 문제를 푸는 방법은 두가지가 있는데 바로 Reference와 Address를 사용하는 방법입니다. #include using namespace std;void RefPlus(int& a, int& b){ if (a > b) { b += 10; a *= 2; } else { a +=..

[게임프로그래밍] 수행 대비

게임프로그래밍 수행을 대비하기 위해 공부해야될 내용들을 정리해두자 * & * : 포인터를 쓸때도 쓰고, 포인터를 통해서 역참조할때도 쓴다. & : 참조를 선언할 때 쓰고, 주소를 넘겨줄 때도 쓴다. rand()rand()를 쓰기위해서는 srand((unsigned int)time(NULL)); 꼭 쓰기 랜덤숫자 가공하기만약 랜덤에서 숫자를 가공해서 쓰고싶다면?예를 들어 1~6 사이에 숫자를 뽑고싶다면 rand() % 6 + 1을 할것 +1이 없으면 0~5 사이 값이 나오고 +2를 한다면 2 ~ 7 사이에 값이 나옵니다. 함수전방선언C++을 위에서 아래로 읽기 때문에 main아래있는 함수는 못읽습니다.따라서 void Test(); 처럼 쓸 함수를 미리 main함수 위에 전방선언 해둬야합니다. 함수에 배열을..

[네트워크] 수행 대비 정리

통신클라이언트와 서버의 통신에 대해 알아보겠습니다. 클라이언트는 서버에게 URL로 요청을 보냅니다.서버는 클라이언트에게 응답을 보내줍니다. ASP .NETCore MVC MVC는 디자인 패턴입니다. MVC는M : ModelV : ViewC : Controller 로 이루어져있습니다. MVC는 다음과 같이 작동합니다.  1. USER가 Controller에게 HTTP요청을 함2. Controller는 적절한 View를 생성하고 모델을 참조해야 하는 경우에는 Model에 요청을 보냄3. Model은 View에게 모델 데이터를 전달해줌4. 생성된 View를 USER에게 전달해줌  쿼리 스트링 쿼리 스트링이란?URL뒤에 입력 데이터를 함께 작성하여 데이터를 전달하는 가장 간단한 데이터 전달 방식입니다.사용자에게..

네트워크 2025.04.08

[네트워크] ASP.NET Core MVC (Model과 MSSQL)

Model이란? Model은 응용 프로그램의 데이터 구조와 상태를 표현하여, 비지니스 로직과 데이터를 처리하는 MVC구성요소입니다.  MSSQL MySQL vs MSSQL MySQL무료로 이용이 가능하여 용량차지가 적습니다.트랜잭션 지원이 완벽하지 않고 다른 DB에 비해 성능이 떨어집니다.MSSQL윈도우 서버와 잘 호환되고 쉽게 DB를 만들고 삭제할 수 있습니다.윈도우 외에 운영체제에서는 온전한 성능이 나오지 않습니다.저는 MSSQL을 써서 DB를 만들어보도록 하겠습니다. MSSQL과 SSMS를 미리 다운받아 왔습니다. 이떄 SSMS는 Microsoft MS SQL서버와 Azure SQL Database까지의 모든 구성요소를 관리하기 위해 만들어진소프트웨어 응용 프로그램입니다.

네트워크 2025.04.05

[자료구조와 알고리즘] 배열과 백터, 동적할당

배열배열이란?같은 종류의 자료형이 순차적으로 메모리의 저장되어있는 자료구조입니다.베열내에 각각의 값은 인덱스 번호로 접근할 수 있습니다. #include #include using namespace std;int main(){ /*ios_base::sync_with_stdio(false); cin.tie(nullptr); cout.tie(nullptr);*/ int arr1[5]; // 배열 선언 int arr2[5] = { 0,1,2,3,4 }; // 배열 선언 및 초기화 int arr3[] = { 0,1,2,3,4 }; // 위랑 같음 int arr4[] = { 0, }; // 1칸짜리 배열 int arr5[] = { 0 }; // 위랑 동일 int arr6[5] = { 1, }; // 첫번째값만 1..

[게임프로그래밍] 아스키 아트와 사운드

아스키 아트아스키 아트란 오로지 텍스트와 특수문만을 조합하여 사진이나 그림을 흉내내는 방식을 말합니다. 아스키 아트는 특수문자를 사용하기 때문에 일반적인 출력방법으로는 출력이 불가능합니다. 따라서#include  #include  #include  를 include해준 다음 출력모드를 설정해줘야합니다. #include #include #include using namespace std;int main(){ int prevmode = _setmode(_fileno(stdout), _O_U16TEXT); wcout  다음처럼 아스키아트를 하기 위해서는 _setmode와 wcout, L을 알아야합니다.  _setmode는 안에 있는 메소드입니다. _setmode는stdin또는 stdout을 _O_TEXT로 ..

[게임프로그래밍] 메모리와 빌드

C++ 메모리 메모리에는 4가지 공간이 존재합니다.  코드 영역, 데이터 영역, 힙 영역, 스택 영역이 있습니다. 코드영역실행할 코드가 담겨있는 영역으로 기계어 형태로 담겨있습니다.프로그램이 실행될때 생성되서 끝날때 지워집니다.데이터 영역전역변수와 static변수가 담겨있는 영역입니다.프로그램이 실행될때 생성되서 끝날때 지워집니다.힙 영역동적으로 할당되어 사용되는 영역입니다.사용자가 원할때 할당되고 삭제됩니다.스택 영역지역 변수가 매개 변수가 담기는 영역입니다.LIFO(후입선출)매개 변수는 const 키워드여도 스택 영역에 저장됩니다코드 블록({})이 시작될때 생성되어서 끝날때 삭제됩니다. 다른 영역들은 모두 메모리에 할당과 삭제 시간이 정해져 있지만,힙 영역만 사용자가 직접 할당 및 삭제를 해야하기 때..

[게임프로그래밍] 난수와 시간3

오늘은 숫자기억게임과 시간맞추기게임을 만들어보도록 하겠습니다. 숫자기억게임 이 게임을 만들기 위해서는 enum class와 Sleep 함수, 메모리 누수에 관해 알아야합니다.  enum class란?  C++에는 enum과 enum class 두개가 존재합니다.  enum : 암시적 형변환이 가능, enum값 이름을 바로 사용가능enum class : 암시적 형변환이 불가능, enum값 이름앞에 enum class 이름:: 을 붙여줘야함 사용예시 enum weapon{ a, b, c};enum class weapon1{ a1, b1, c1};void Test(){ int test = a; int test2 = weapon1::a1; // 오류발생 int t..

[네트워크] ASP.NET Core MVC (Master Page와 Form)

Master Page Master Page는 다른 이름으로 Layout이라 불리며 페이지에서 공통으로 쓰일 Page를 말합니다.  Views 폴더 하위에 Shared 폴더 생성하기  그리고 새로운 뷰를 추가해줍니다.    이렇게 새로운 뷰를 추가해주면   이렇게 새로 생성이 됩니다. 이때 ViewData가 있지만 _Layout에서는 ViewBag으로 값을 받으므로 이 코드도 ViewBag으로 변경해줍시다.(변경 안해도 상관없어요)  하지만 이렇게 하면 Layout 경로를 명시해야된다는 단점이 있습니다. 이를 해결하기 위해서 View Start가 있습니다.     이렇게 하면 Layout 경로를 명시할 필요 없어집니다.  최상단에 저는 SUSOT입니다. 가 나오는것을 볼 수 있습니다.Form Form태그를..

네트워크 2025.03.29