no image
프로그래머스/C++ 배열 만들기 4
문제 설명 정수 배열 arr가 주어집니다. arr를 이용해 새로운 배열 stk를 만드려고 합니다. 변수 i를 만들어 초기값을 0으로 설정한 후 i가 arr의 길이보다 작으면 다음 작업을 반복합니다. 만약 stk가 빈 배열이라면 arr[i]를 stk에 추가하고 i에 1을 더합니다. stk에 원소가 있고, stk의 마지막 원소가 arr[i]보다 작으면 arr[i]를 stk의 뒤에 추가하고 i에 1을 더합니다. stk에 원소가 있는데 stk의 마지막 원소가 arr[i]보다 크거나 같으면 stk의 마지막 원소를 stk에서 제거합니다. 위 작업을 마친 후 만들어진 stk를 return 하는 solution 함수를 완성해 주세요. 제한사항 1 ≤ arr의 길이 ≤ 100,000 1 ≤ arr의 원소 ≤ 100,00..
2024.01.11
no image
프로그래머스/C++ 배열 만들기 2
문제 설명 정수 l과 r이 주어졌을 때, l 이상 r이하의 정수 중에서 숫자 "0"과 "5"로만 이루어진 모든 정수를 오름차순으로 저장한 배열을 return 하는 solution 함수를 완성해 주세요. 만약 그러한 정수가 없다면, -1이 담긴 배열을 return 합니다. 제한사항 1 ≤ l ≤ r ≤ 1,000,000 입출력 예 l r result 5 555 [5, 50, 55, 500, 505, 550, 555] 10 20 [-1] 입출력 예 설명 입출력 예 #1 5 이상 555 이하의 0과 5로만 이루어진 정수는 작은 수부터 5, 50, 55, 500, 505, 550, 555가 있습니다. 따라서 [5, 50, 55, 500, 505, 550, 555]를 return 합니다. 입출력 예 #2 10 이..
2024.01.11
no image
Direct X 9 셋팅 (Visual Studio C++)
안녕하세요! Visual Studo C++에서 Direct X 9 셋팅 방법을 소개하겠습니다! 일단 https://directx-software-development-kit.en.lo4d.com/download DirectX 9 SDK DirectX 9 SDK 9.29.1962 (Gaming graphics toolkit) for Windows ✔ free download with 2 mirrors. Safe, secure and tested for viruses and malware. directx-software-development-kit.en.lo4d.com 여기서 Dirext X 9 의 SDK 를 다운받아줍니다. 그리고 Visual Studio 2022에서 새 프로젝트 만들기를 선택해주고 Win..
2024.01.04
no image
유니티 퀘스트2 컨트롤러 셋팅
3D URP로 프로젝트를 생성해주며 Android가 있는 버전으로 프로젝트를 생성해주세요! • Edit - Project Settings 에서 • Install XR Plugin Management 를 설치해줍니다. Open XR을 체크해서 다운로드한뒤 yes버튼을 누르면 다시 프로젝트가 껏다 켜집니다. 기다려주세요! 그리고 노란색 경고 표시를 누르신다음 Fix All을 눌러주시면 됩니다. Open XR 에서 안드로이드를 클릭하신뒤 Oculus Touch Controller Profile을 추가해줍니다. Adroid를 추가하지 않으신분들은 보이지않으실거에요! 추가해주시면 보일겁니다. 그리고 Hand Interaction Poses를 체크해줍니다! 그리고 PC를 클릭해서 똑같이 추가해주고 체크해줍니다. X..
2023.11.24
no image
유니티 URP(Universal Render Pipeline) 설정방법
1. 첫 번째 방법 프로젝트 생성시에 바로 URP를 사용해서 프로젝트를 생성해준다 그러면 Global Volume 과 Readme, UniversalRenderPipelineGlobalSettings 가 생성되는걸 확인할수있다. 2. 두 번째 방법 일반적인 3D로 생성했을시에 URP 적용방법을 알려드리겠습니다. 3D로 생성했을때는 일반적으로 URP에대한 기본 셋팅이 되어있지 않은 상태. Window - Pakage Manager - Pakegaes 에서 Unity Registry를 선택후 - Univeral RP를 다운로드 해준다. URP를 다운받은후 Assets에 오른쪽 클릭을해줍니다. Create - 맨 밑에 있는 Rendering - URP Asset (with Universal Renderer) ..
2023.11.23
no image
프로그래머스/C++ 배열 뒤집기
문제 설명 정수가 들어 있는 배열 num_list가 매개변수로 주어집니다. num_list의 원소의 순서를 거꾸로 뒤집은 배열을 return하도록 solution 함수를 완성해주세요. 제한사항 1 ≤ num_list의 길이 ≤ 1,000 0 ≤ num_list의 원소 ≤ 1,000 입출력 예 num_list result [1, 2, 3, 4, 5] [5, 4, 3, 2, 1] [1, 1, 1, 1, 1, 2] [2, 1, 1, 1, 1, 1] [1, 0, 1, 1, 1, 3, 5] [5, 3, 1, 1, 1, 0, 1] 입출력 예 설명 입출력 예 #1 num_list가 [1, 2, 3, 4, 5]이므로 순서를 거꾸로 뒤집은 배열 [5, 4, 3, 2, 1]을 return합니다. 입출력 예 #2 num_l..
2023.10.22
no image
프로그래머스/C++ 편지
문제 설명 머쓱이는 할머니께 생신 축하 편지를 쓰려고 합니다. 할머니가 보시기 편하도록 글자 한 자 한 자를 가로 2cm 크기로 적으려고 하며, 편지를 가로로만 적을 때, 축하 문구 message를 적기 위해 필요한 편지지의 최소 가로길이를 return 하도록 solution 함수를 완성해주세요. 제한사항 공백도 하나의 문자로 취급합니다. 1 ≤ message의 길이 ≤ 50 편지지의 여백은 생각하지 않습니다. message는 영문 알파벳 대소문자, ‘!’, ‘~’ 또는 공백으로만 이루어져 있습니다. 입출력 예 message result "happy birthday!" 30 "I love you~" 22 입출력 예 설명 입출력 예 #1 message의 글자 수가 15개로 최소 가로 30cm의 편지지가 필..
2023.10.22
no image
프로그래머스/C++ 양꼬치
문제 설명 머쓱이네 양꼬치 가게는 10인분을 먹으면 음료수 하나를 서비스로 줍니다. 양꼬치는 1인분에 12,000원, 음료수는 2,000원입니다. 정수 n과 k가 매개변수로 주어졌을 때, 양꼬치 n인분과 음료수 k개를 먹었다면 총얼마를 지불해야 하는지 return 하도록 solution 함수를 완성해보세요. 제한사항 0
2023.10.22
반응형

문제 설명

정수 배열 arr가 주어집니다. arr를 이용해 새로운 배열 stk를 만드려고 합니다.

변수 i를 만들어 초기값을 0으로 설정한 후 i가 arr의 길이보다 작으면 다음 작업을 반복합니다.

  • 만약 stk가 빈 배열이라면 arr[i]를 stk에 추가하고 i에 1을 더합니다.
  • stk에 원소가 있고, stk의 마지막 원소가 arr[i]보다 작으면 arr[i]를 stk의 뒤에 추가하고 i에 1을 더합니다.
  • stk에 원소가 있는데 stk의 마지막 원소가 arr[i]보다 크거나 같으면 stk의 마지막 원소를 stk에서 제거합니다.

위 작업을 마친 후 만들어진 stk를 return 하는 solution 함수를 완성해 주세요.


제한사항

  • 1 ≤ arr의 길이 ≤ 100,000
    • 1 ≤ arr의 원소 ≤ 100,000

입출력 예

arr result

[1, 4, 2, 5, 3] [1, 2, 3]

입출력 예 설명

입출력 예 #1

  • 각 작업을 마친 후에 배열의 변화를 나타내면 다음 표와 같습니다.

i arr[i] stk

0 1 []
1 4 [1]
2 2 [1, 4]
2 2 [1]
3 5 [1, 2]
4 3 [1, 2, 5]
4 3 [1, 2]
- - [1, 2, 3]
  • 따라서 [1, 2, 3]을 return 합니다.
#include <string>
#include <vector>

using namespace std;

vector<int> solution(vector<int> arr) {
    vector<int> stk;
    int i=0;
    while(i < arr.size()){
        if(stk.empty()) stk.push_back(arr[i++]);
        else if(stk.back() < arr[i]) stk.emplace_back(arr[i++]);
        else stk.erase(stk.end() - 1);
    }
    
    return stk;
}

 

반응형
반응형

문제 설명

정수 l과 r이 주어졌을 때, l 이상 r이하의 정수 중에서 숫자 "0"과 "5"로만 이루어진 모든 정수를 오름차순으로 저장한 배열을 return 하는 solution 함수를 완성해 주세요.

만약 그러한 정수가 없다면, -1이 담긴 배열을 return 합니다.


제한사항

  • 1 ≤ l ≤ r ≤ 1,000,000

입출력 예

l r result

5 555 [5, 50, 55, 500, 505, 550, 555]
10 20 [-1]

입출력 예 설명

입출력 예 #1

  • 5 이상 555 이하의 0과 5로만 이루어진 정수는 작은 수부터 5, 50, 55, 500, 505, 550, 555가 있습니다. 따라서 [5, 50, 55, 500, 505, 550, 555]를 return 합니다.

입출력 예 #2

  • 10 이상 20 이하이면서 0과 5로만 이루어진 정수는 없습니다. 따라서 [-1]을 return 합니다.
#include <string>
#include <vector>

using namespace std;

vector<int> solution(int l, int r) {
    vector<int> answer;
    for(int i=l; i<=r; i++){
        string strNum = to_string(i);
        bool zeroFive = true;
        for(char c : strNum){
            if(c != '0' && c != '5'){
                zeroFive = false;
                break;   
            }
        }
        if(zeroFive) answer.push_back(i);
    }
    if(answer.empty()) answer.push_back(-1);
    
    return answer;
}

 

l부터 r값만큼 forㅁ누을 돌려주고 들어오는 값마다 string으로 변환

그리고 bool 변수를 둬서 0과5만 들어가있는지 판단

맞는다면 answer에 넣어주고 아니라면 -1값 넣어주기

반응형
반응형

안녕하세요! Visual Studo C++에서 Direct X 9 셋팅 방법을 소개하겠습니다!

 

일단

https://directx-software-development-kit.en.lo4d.com/download

 

DirectX 9 SDK

DirectX 9 SDK 9.29.1962 (Gaming graphics toolkit) for Windows ✔ free download with 2 mirrors. Safe, secure and tested for viruses and malware.

directx-software-development-kit.en.lo4d.com

 

여기서 Dirext X 9 의 SDK 를 다운받아줍니다.

 

그리고 Visual Studio 2022에서 

새 프로젝트 만들기를 선택해주고

Windows 데스크톱 마법사를 선택한뒤 다음을 눌러줍니다!

 

만들기를 클릭하시면 

 

이렇게 창이 뜨는데 데스크톱 애플리케이션으로 선택해주세요!

그리고 추가 옵션에서 빈 프로젝트를 체크해줍니다!

 

다음으로 넘어가면 이렇게 아무것도 안나오는데요!

소스 파일에서

추가 - 새항목을 클릭해서 새로운 항목을 만들어줍니다!

 

이렇게 새 항목을 추가한 뒤 코드를 작성했을때 오류가 나옵니다

당연히! 아직 Dirext X 9 셋팅이 안되어있기 때문에 오류가 나는겁니다.

 

상단에 보시면 x64로 되어있으실텐데 x86으로 바꿔주고

여기에서 상단에 프로젝트를 들어간뒤 새항목으로 만든 프로젝트의 속성을 들어가줍니다!

 

구성 속성 - 고급

에 들어가셔서 문자 집합 의 유니코드를 - 멀티바이트 문자 집합 사용으로 바꿔줍니다!

 

그리고 구성 속성 - VC++ 디렉터리에서

2개를 바꿔줄겁니다!

포함 디렉터리와 라이브러리 디렉터리에 추가를 해줄건데

 

 

저렇게 포함 디렉터리의 오른쪽에 보시면 밑 화살표를 클릭해서 편집을 눌러줍니다!

 

 

그러면 포함 디렉터리에 대한 창이 나오는데 현재 파란색으로 표시된 공간의 오른쪽을 클릭하면

 

이런식으로 폴더를 선택하는 창이 나옵니다!

기본적으로 C드라이브 - Program Files (x86) - Microsoft DirectX SDK (June 2010) 

이렇게 경로가 지정되어 있으실겁니다!

포함 디렉터리에서는 

C드라이브 - Program Files (x86) - Microsoft DirectX SDK (June 2010) - inculde를

선택한뒤 폴더 선택을 눌러줍니다!

아무것도 안보이실텐데 정상입니다! 걱정마세요!

이런식으로 굵은 글자가 되셨다면 포함 디렉터리는 끝입니다!

 

 

자 방금과 같은 방법으로 라이브러리 디렉터리도 똑같은 방식으로 경로 설정을 해줍니다!

경로는 

C드라이브 - Program Files (x86) - Microsoft DirectX SDK (June 2010) - Lib - x86

입니다!

포함 디렉터리와 다른 Lib 을 들어간 뒤 x86을 선택해주셔야 합니다!

 

 

이런식으로 2가지의 디렉터리를 바꿔주시구

 

 

마지막 입니다! 링커의 입력에 들어가셔서

 

추가 종속성의 편집을 클릭해줍니다!

 

 

d3d9.lib
d3dx9.lib
winmm.lib

 

이렇게 3개의 파일을 입력해주고 확인을 눌러주시면 됩니다!

 

적용을 눌러주시면 방금 있던 오류가 싹 사라집니다!

 

 

Direct X 9 셋팅은 끝이났구 아까 오류났던 코드도 잘 돌아가는걸 확인할 수 있습니다!

코드는 다음 시간에 또 알아보도록 할게요!

 

셋팅은 매번 새로운 프로젝트를 만들때마다 다시 셋팅해주어야 합니다 한 번 한다고 계속 사용하지는 못해요ㅠㅜ

이상 Dirext X 9 셋팅방법 이였습니다!

 

반응형
반응형

3D URP로 프로젝트를 생성해주며 Android가 있는 버전으로 프로젝트를 생성해주세요!

 

 

 

• Edit - Project Settings 에서

• Install XR Plugin Management 를 설치해줍니다.

 

Open XR을 체크해서 다운로드한뒤 yes버튼을 누르면 다시 프로젝트가 껏다 켜집니다.

기다려주세요!

그리고 노란색 경고 표시를 누르신다음

 

Fix All을 눌러주시면 됩니다.

 

Open XR 에서 안드로이드를 클릭하신뒤 Oculus Touch Controller Profile을 추가해줍니다.

Adroid를 추가하지 않으신분들은 보이지않으실거에요! 추가해주시면 보일겁니다.

 

그리고 Hand Interaction Poses를 체크해줍니다!

 

그리고 PC를 클릭해서 똑같이 추가해주고 체크해줍니다.

 

XR Plug-in Management를 다시 들어가셔서 안드로이드도 OpenXR을 체크!

 

Window - Pakage Manager - Unity Registry 클릭!

 

XR Interaction Toolkit 을 설치해줍니다!

 

제목에 보시면 com. 어쩌고 파란색으로 드래그한 부분을 복사해주세요

왼쪽 상단에 + 버튼을 눌러서 Add pakage form git URL을 클릭합니다.

복사한 주소를 넣어서 엔터를 누르시면 최신버전으로 다운받아져요!

그냥 사용하셔도 되지만 최신버전으로 사용하시는걸 추천합니다!

 

Samples 탭에서 2개의 샘플을 설치해줍니다!

1. Starter Assets

2. XR Device Simulator

 

Hands Interaction Demo 는 사용하실분만 다운로드 받아주세요! 위의 2개로도 충분합니다!

 

하이어라키 창에서 새로 추가해줍니다.

XR - XR Origin (VR)

그럼 이런식으로 추가가 됩니다.

Left, Right Controller의 Sorting Group을 삭제해줍니다!

 

Left Controller를 클릭하고 XR Controller 를 들어가 빨간색으로 표시된 곳을 눌러주시고

XRI Default Left Controller 을 클릭해줍니다!

Right Controller도 똑같은 방식으로 Right로 추가해주세요!

그럼 Left와 Right 둘다 기본 설정이 완료 됩니다.

Project 에서

Assets - Samples - XR Interaction Toolkit - 2.5.2 - Starter Assets - Presets -

XRI Default Left Controller 를 클릭한뒤 빨간색으로 표시된곳을 눌러주시면 됩니다!

XRI Default Right Controller 도 똑같은 방식으로 설정해주세요!

 

다시 Edit - Project Settings 를 들어가서

Preset Manager 을 들어가서

각 Controller에대한 이름 적어주세요!

 

빈 오브젝트를 만들어 줍니다 이름은 - XR Manager

하위에다가 Input Action Manager를 생성해주고

원래 있던 XR interaction Manager을 XR Manager에 넣어줍니다!

그리고 Input Action Manager에서 Add Component를 눌러서 Input Action Manager 스크립트를 추가해줍니다!

추가된 Input Action Manager 스크립트에 Element 값을 + 표시를 눌러 값을 하나 추가해줍니다.

 

Project의

Assets - Samples - XR Interaction Toolkit - 2.5.2 - Starter Assets - XRI Default Input Actions를 Element값에 넣어줍니다.

 

그리고 Starter Assets - Prefabs - Controllers 에있는 XR Controller Left를

하이어라키 창에있는 Left Controller 를 클릭해서 XR Controller 스크립트의 맨 밑부분 Model Prefab부분에 끌어당겨줍니다.

Right부분도 똑같이 해주세요!

 

 

그리고 마지막으로

XR Device Simulator 를 하이어라키 창에 추가해줍니다!

 

 

게임을 실행해보면 잘 되네요!

왼쪽 설명란에 버튼을 눌러보시면 잘 실행되는걸 보실수있습니다.

반응형
반응형

1. 첫 번째 방법

프로젝트 생성시에 바로 URP를 사용해서 프로젝트를 생성해준다

 

그러면 Global Volume 과 Readme, UniversalRenderPipelineGlobalSettings 가 생성되는걸 확인할수있다.

 

 

2. 두 번째 방법

일반적인 3D로 생성했을시에 URP 적용방법을 알려드리겠습니다.

 

3D로 생성했을때는 일반적으로 URP에대한 기본 셋팅이 되어있지 않은 상태.

 

Window - Pakage Manager - Pakegaes 에서 Unity Registry를 선택후 - Univeral RP를 다운로드 해준다.

 

 

URP를 다운받은후 Assets에 오른쪽 클릭을해줍니다.

Create - 맨 밑에 있는 Rendering - URP Asset (with Universal Renderer) 클릭

 

그럼 2개의 파이프라인 렌더가 생성되는데 이걸 다시 설정해줘야합니다.

 

Edit - Project Settings… 클릭!

 

Graphics 를 클릭해줍니다.

New Universal Render Pipeline Asset 을 끌어당겨서 적용시켜줍니다.

 

그러면 원래 이랬던 집이

이렇게 핑크색으로 바뀝니다.

 

일단 기본적인 퀄리티 셋팅을 하기위해

다시 Project Settings - Quality 에 들어가서 - High를 클릭해주고 다시 New Universal Render Pipeline Asset 를 등록해줍니다!

퀄리티 셋팅을 하는 이유는 URP가 반짝거림이 심해질수있는데 High로 하는것이 제일 안정적이고 반짝거림이 있지않아서 입니다.

 

 

핑크색 없애기!

핑크색을 없애기 위해서는

Window - Rendering - Render Pipeline Converter 를 들어가줍니다.

 

그러면 이러한 창이 뜨게 되는데

전부 체크를 해준뒤 Convert Assets을 클릭해줍니다!

그러면 다시 원상복귀!

 

URP 적용하기전

 

궁금하신게 있으시다면 댓글 달아주세요!

반응형
반응형

문제 설명

정수가 들어 있는 배열 num_list가 매개변수로 주어집니다. num_list의 원소의 순서를 거꾸로 뒤집은 배열을 return하도록 solution 함수를 완성해주세요.


제한사항

  • 1 ≤ num_list의 길이 ≤ 1,000
  • 0 ≤ num_list의 원소 ≤ 1,000

입출력 예

num_list result

[1, 2, 3, 4, 5] [5, 4, 3, 2, 1]
[1, 1, 1, 1, 1, 2] [2, 1, 1, 1, 1, 1]
[1, 0, 1, 1, 1, 3, 5] [5, 3, 1, 1, 1, 0, 1]

입출력 예 설명

입출력 예 #1

  • num_list가 [1, 2, 3, 4, 5]이므로 순서를 거꾸로 뒤집은 배열 [5, 4, 3, 2, 1]을 return합니다.

입출력 예 #2

  • num_list가 [1, 1, 1, 1, 1, 2]이므로 순서를 거꾸로 뒤집은 배열 [2, 1, 1, 1, 1, 1]을 return합니다.

입출력 예 #3

  • num_list가 [1, 0, 1, 1, 1, 3, 5]이므로 순서를 거꾸로 뒤집은 배열 [5, 3, 1, 1, 1, 0, 1]을 return합니다.
#include <string>
#include <vector>

using namespace std;

vector<int> solution(vector<int> num_list) {
    vector<int> answer;
    
    for(int i=num_list.size()-1; i>=0; i--) answer.push_back(num_list[i]);
        
    return answer;
}
반응형
반응형

문제 설명

머쓱이는 할머니께 생신 축하 편지를 쓰려고 합니다. 할머니가 보시기 편하도록 글자 한 자 한 자를 가로 2cm 크기로 적으려고 하며, 편지를 가로로만 적을 때, 축하 문구 message를 적기 위해 필요한 편지지의 최소 가로길이를 return 하도록 solution 함수를 완성해주세요.


제한사항

  • 공백도 하나의 문자로 취급합니다.
  • 1 ≤ message의 길이 ≤ 50
  • 편지지의 여백은 생각하지 않습니다.
  • message는 영문 알파벳 대소문자, ‘!’, ‘~’ 또는 공백으로만 이루어져 있습니다.

입출력 예

message result

"happy birthday!" 30
"I love you~" 22

입출력 예 설명

입출력 예 #1

  • message의 글자 수가 15개로 최소 가로 30cm의 편지지가 필요합니다.

입출력 예 #2

  • message의 글자 수가 11개로 최소 가로 22cm의 편지지가 필요합니다.
#include <string>
#include <vector>

using namespace std;

int solution(string message) {
    int answer = 0;
    for(int i=0; i<message.size(); i++) answer = answer+2;
    
    return answer;
}
반응형
반응형

문제 설명

머쓱이네 양꼬치 가게는 10인분을 먹으면 음료수 하나를 서비스로 줍니다. 양꼬치는 1인분에 12,000원, 음료수는 2,000원입니다. 정수 n과 k가 매개변수로 주어졌을 때, 양꼬치 n인분과 음료수 k개를 먹었다면 총얼마를 지불해야 하는지 return 하도록 solution 함수를 완성해보세요.


제한사항

  • 0 < n < 1,000
  • n / 10 ≤ k < 1,000
  • 서비스로 받은 음료수는 모두 마십니다.

입출력 예

n k result

10 3 124,000
64 6 768,000

입출력 예 설명

입출력 예 #1

  • 10인분을 시켜 서비스로 음료수를 하나 받아 총 10 * 12000 + 3 * 2000 - 1 * 2000 = 124,000원입니다.

입출력 예 #2

  • 64인분을 시켜 서비스로 음료수를 6개 받아 총 64 * 12000 + 6 * 2000 - 6 * 2000 =768,000원입니다.
#include <string>
#include <vector>

using namespace std;

int solution(int n, int k) {
    int answer = 0;
    int del = n/10;
    answer = n*12000 + k*2000 - del*2000;
    
    
    return answer;
}
반응형