백준 단계별로 풀어보기 3단계 for문 4번문제 15552번: 빠른 A+B 첫 줄에 테스트케이스의 개수 T가 주어진다. T는 최대 1,000,000이다. 다음 T줄에는 각각 두 정수 A와 B가 주어진다. A와 B는 1 이상, 1,000 이하..
백준 단계별로 풀어보기 3단계 for문 3번문제 8393번: 합 n이 주어졌을 때, 1부터 n까지 합을 구하는 프로그램을 작성하시오. www.acmicpc.net 문제의 핵심 1. for문과 range()함수의 적절한 활용 2. range() 함수..
백준 단계별로 풀어보기 3단계 for문 2번문제 10950번: A+B - 3 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. www.acmicpc.net 문제의 핵심 1. 몇번 반복할지를 입력받기 2. for문 안에..
백준 단계별로 풀어보기 3단계 for문 1번 문제 2739번: 구구단 N을 입력받은 뒤, 구구단 N단을 출력하는 프로그램을 작성하시오. 출력 형식에 맞춰서 출력하면 된다. www.acmicpc.net 문제의 핵심 1. 구구단이 출..
어쩌다보니까 키넥트v2를 다루게 되어서 키넥트 정보를 정리해보고자 한다. 키넥트는 xbox의 주변기기로 사용되는 제품인데 종류가 3가지 정도된다. 키넥트v1, 키넥트v2, 애저키넥트(Azure Kinect)이다. 애저키넥..
프로그래머스 코딩테스트 연습 Level 1 - 직사각형 별찍기 코딩테스트 연습 - 직사각형 별찍기 이 문제에는 표준 입력으로 두 개의 정수 n과 m이 주어집니다. 별(*) 문자를 이용해 가로의 길이가 n, 세로의 길이가..
백준 단계별로 풀어보기 2단계 if문 5번 문제 2884번: 알람 시계 상근이는 매일 아침 알람을 듣고 일어난다. 알람을 듣고 바로 일어나면 다행이겠지만, 항상 조금만 더 자려는 마음 때문에 매일 학교를 지각하고..
백준 단계별로 풀어보기 2단계 if문 4번 문제 14681번: 사분면 고르기 점 (x, y)의 사분면 번호(1, 2, 3, 4 중 하나)를 출력한다. www.acmicpc.net 문제의 핵심 1. 조건문 내부에서 다시 조건문을 사용하기 코드를..
백준 단계별로 풀어보기 2단계 if문 3번 문제 2753번: 윤년 연도가 주어졌을 때, 윤년이면 1, 아니면 0을 출력하는 프로그램을 작성하시오. 윤년은 연도가 4의 배수이면서, 100의 배수가 아닐 때 또는 400의 배수..
백준 단계별로 풀어보기 2단계 if문 2번문제 9498번: 시험 성적 시험 점수를 입력받아 90 ~ 100점은 A, 80 ~ 89점은 B, 70 ~ 79점은 C, 60 ~ 69점은 D, 나머지 점수는 F를 출력하는 프로그램을 작성하시오. www.ac..
백준 단계별로 풀어보기 2단계 if문 1번 문제 1330번: 두 수 비교하기 두 정수 A와 B가 주어졌을 때, A와 B를 비교하는 프로그램을 작성하시오. www.acmicpc.net 문제의 핵심 1. 조건문을 사용할 수 있는가? 우선..
유니티에서 플레이어의 움직임을 구현할 때 리지드바디와 견주어서 가장 많이 사용되는 것이 캐릭터컨트롤러이다. 캐릭터컨트롤러는, 물리엔진을 사용하지 않고 간단한 로직만으로 움직임을 구현해주고 자체적으로..
리지드바디 컴포넌트를 추가하면, 스크립트를 통해서 다양한 방식으로 소스코드를 작성할 수 있다. 그러므로 리지드바디에 포함되어있는 다양한 변수와 메소드들을 잘 알아두면 좋다. 전체적인 내용은 유니티의 공..
이전에 스크립트를 제외한 모든 준비를 끝마쳤으니 이제 스크립트를 본격적으로 작성해보도록하자. 3D게임에 기본적으로 존재하는 요소들을 구현해볼 것이다. 구현할 사항들은 다음과 같다. 1. WASD키의 입력을 통..
이번에는 리기드바디를 활용해서 3D 게임에서 플레이어의 움직임을 구현해보고자 한다. 이를 위해선 리지드바디에 대한 기본적인 이해가 필요하므로, 만약 리지드바디를 잘 모른다면 이전 글을 참고하면 된다. 202..
리지드바디는 유니티에서 필수적으로 사용되는 요소이기 때문에 확실하게 파악해둘 필요가 있다. 언제나 그렇듯 유니티 공식문서를 먼저 살펴보면 이해에 큰 도움이 된다. 리지드바디 - Unity 매뉴얼 Rigidbody 는..
유니티에서 스크립트를 작성하다보면, 몇초 뒤에 무언가가 실행되게 만들어야할 때가 있다. 이런 상황에서 사용할 수 있는 대표적인 방법 2가지가 Invoke와 코루틴이다. Invoke가 사용하기가 훨씬 간단하기 때문에..
게임을 개발할때는 의도하지 않은 상황을 처리하는 시스템을 구현해야한다. 특히나 레이싱 게임은 이런 예외상황들이 많이 발생하는 게임 중에 하나이다. 예를들면, 차량이 뒤집어진다거나 차량이 트랙에서 벗어나..
외국자료들을 찾아보면,이정도까지 만들어낸다고? 싶을 정도로 거의 현실에 가까울정도로 별의 별 기능을 전부 구현하는 괴물들도 존재한다. 우리는 이미 레이싱의 기본적인 것은 완성했으므로, 본인이 제작하는..
지금까지 구현한 차량을 플레이해보면 코너링을 할때 뭔가 이상함을 느낄 수 있다. 설명하긴 애매하지만 분명 내가 생각했던거랑은 다소 다른 각도로 회전을 하고 있는 느낌이다. 그 이유는 실제 차량의 방향전환..
현재까지 따라서 진행을 했다면 차량이 크게 안정적이지는 않을 것이다. 좌회전이나 우회전시에 차량이 크게 흔들리기도 할 것이고, 회전을 한번 잘못하면 차량이 빙글빙글 계속 회전하는 문제가 발생할 수도 있다..
이번에는 차량을 컨트롤할때 사용할 인풋매니저 스크립트를 작성할 것이다. 사실 이 스크립트는 굳이 작성할 필요는 없다. 그러나 실제 모든 게임회사들은 인풋매니저와같은 방식을 사용하고 있기 때문에 구현해보..
차량의 기본움직임을 구현했으니 이제 카메라를 세팅할 차례이다. 사실 카메라도 다양한 효과와 움직임을 구현하려면 굉장히 복잡해지는데 그것은 차후로 미루고, 먼저 자동으로 카메라가 플레이어를 따라다니고,..
이제 드디어 차량의 움직임을 구현해볼 차례이다. Wheel Collider에 존재하는 motorTorque와 steerAngle을 사용할 것이다. 테스트를 해보면 차량이 생각보다 잘 뒤집히는 것을 알 수 있다. 차량 전복을 막기 위해..
이번 글의 목표. 1. 차량 모델이 변경되더라도 휠콜라이더와 바퀴메쉬가 적절한 위치로 자동으로 정렬하도록 만든다. 2. 휠콜라이더의 움직임을 받아와서 바퀴가 알맞게 굴러가는 것처럼 만들어준다. 3. GetWorldP..
레이싱게임이나 휠콜라이더를 다루기 위해서는 첫번째로, 차량 오브젝트에 휠콜라이더를 배치해야한다. 매우 기본적이지만 첫걸음을 잘 내딛어야 이후의 과정들이 매끄러워지므로 집중하도록 하자. 참고로, 본 블..
똑같은 게임을 만들더라도 누가 개발하느냐에 따라서 방법이 전부 다르다. 레이싱게임도 마찬가지이다. 레이싱 게임을 만드는 방법은 수많은 방식이 존재할 것이다. 레이싱게임을 만들어야한다고 반드시 휠 콜라이..
좋은 기회로 기업연계 프로젝트를 진행하게되었다. 자세한 이야기는 생략하고, 어쩌다보니 레이싱 게임을 제작하게 되었다. 모바일이냐 PC냐 아니면 VR기기를 사용하냐에서 많은 고민이있었다. 우선은 PC버전으로..
백준 단계별로 풀어보기 7단계 3번문제 10809번: 알파벳 찾기 각각의 알파벳에 대해서, a가 처음 등장하는 위치, b가 처음 등장하는 위치, ... z가 처음 등장하는 위치를 공백으로 구분해서 출력한다. 만약, 어떤..
백준 단계별로 풀어보기 7단계 문자열 2번문제 11720번: 숫자의 합 첫째 줄에 숫자의 개수 N (1 ≤ N ≤ 100)이 주어진다. 둘째 줄에 숫자 N개가 공백없이 주어진다. www.acmicpc.net 문제의 핵심 1. 문자열 쪼개..
백준 단계별로 풀어보기 7단계 문자열 1번문제 11654번: 아스키 코드 알파벳 소문자, 대문자, 숫자 0-9중 하나가 주어졌을 때, 주어진 글자의 아스키 코드값을 출력하는 프로그램을 작성하시오. www.acmicpc.net..
프로그래머스 코딩테스트 연습 Level 1 - 음양 더하기 코딩테스트 연습 - 음양 더하기 어떤 정수들이 있습니다. 이 정수들의 절댓값을 차례대로 담은 정수 배열 absolutes와 이 정수들의 부호를 차례대로 담은 불..
프로그래머스 코딩테스트 연습 Level 1 - 서울에서 김서방 찾기 코딩테스트 연습 - 서울에서 김서방 찾기 String형 배열 seoul의 element중 "Kim"의 위치 x를 찾아, "김서방은 x에 있다"는 String을 반환하는 함수..
유니티상에서 C# 스크립트를 생성하면, 이름 옆에 항상 MonoBehavior가 적혀있다. 유니티를 처음 배우면 Start , Update 등을 다루면서 사용법을 익히기 시작하는데 그러다보니 오히려 MonoBehavior가 무엇인지..
프로그래머스 코딩테스트 연습 Level 1 - 가운데 글자 가져오기 코딩테스트 연습 - 가운데 글자 가져오기 단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요. 단어의 길이가 짝수라면 가운데 두글..
프로그래머스 코딩테스트 연습 Level 1 - 두 정수 사이의 합 코딩테스트 연습 - 두 정수 사이의 합 두 정수 a, b가 주어졌을 때 a와 b 사이에 속한 모든 정수의 합을 리턴하는 함수, solution을 완성하세요. 예를..
프로그래머스 코딩테스트 연습 Level 1 - 정수 내림차순으로 배치하기 코딩테스트 연습 - 정수 내림차순으로 배치하기 함수 solution은 정수 n을 매개변수로 입력받습니다. n의 각 자릿수를 큰것부터 작은 순으로..
프로그래머스 코딩테스트 연습 Level 1 - 콜라츠 추측 코딩테스트 연습 - 콜라츠 추측 1937년 Collatz란 사람에 의해 제기된 이 추측은, 주어진 수가 1이 될때까지 다음 작업을 반복하면, 모든 수를 1로 만들 수..
프로그래머스 코딩테스트 연습 Level 1 - 자연수 뒤집어 배열로 만들기 코딩테스트 연습 - 자연수 뒤집어 배열로 만들기 자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 리턴해주세요. 예를들어 n이..
프로그래머스 코딩테스트 연습 Level 1 - 약수의 합 코딩테스트 연습 - 약수의 합 정수 n을 입력받아 n의 약수를 모두 더한 값을 리턴하는 함수, solution을 완성해주세요. 제한 사항 n은 0 이상 3000이하인 정수..
프로그래머스 코딩테스트 연습 Level 1 - 자릿수 더하기 코딩테스트 연습 - 자릿수 더하기 자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요. 예를들어 N = 123이면..
프로그래머스 코딩테스트 연습 Level 1 - 하샤드 수 코딩테스트 연습 - 하샤드 수 양의 정수 x가 하샤드 수이려면 x의 자릿수의 합으로 x가 나누어져야 합니다. 예를 들어 18의 자릿수 합은 1+8=9이고, 18은 9로..
프로그래머스 코딩테스트 연습 Level 1 - 행렬의 덧셈 코딩테스트 연습 - 행렬의 덧셈 행렬의 덧셈은 행과 열의 크기가 같은 두 행렬의 같은 행, 같은 열의 값을 서로 더한 결과가 됩니다. 2개의 행렬 arr1과 arr2..
프로그래머스 코딩테스트 연습 Level 1 - 이상한 문자 만들기 코딩테스트 연습 - 이상한 문자 만들기 문자열 s는 한 개 이상의 단어로 구성되어 있습니다. 각 단어는 하나 이상의 공백문자로 구분되어 있습니다...
프로그래머스 코딩테스트 연습 Level 1 - 문자열을 정수로 바꾸기 코딩테스트 연습 - 문자열을 정수로 바꾸기 문자열 s를 숫자로 변환한 결과를 반환하는 함수, solution을 완성하세요. 제한 조건 s의 길이는 1 이..
백준 단계별로 풀어보기 5단계 1차원배열 7번문제 4344번: 평균은 넘겠지 대학생 새내기들의 90%는 자신이 반에서 평균은 넘는다고 생각한다. 당신은 그들에게 슬픈 진실을 알려줘야 한다. www.acmicpc.net 문..
백준 단계별로 풀어보기 5단계 1차원배열 6번문제 8958번: OX퀴즈 "OOXXOXXOOO"와 같은 OX퀴즈의 결과가 있다. O는 문제를 맞은 것이고, X는 문제를 틀린 것이다. 문제를 맞은 경우 그 문제의 점수는 그 문제까지..
프로그래머스 코딩테스트 연습 Level 1 - 수박수박수박수박수박수? 코딩테스트 연습 - 수박수박수박수박수박수? 길이가 n이고, "수박수박수박수...."와 같은 패턴을 유지하는 문자열을 리턴하는 함수, solution을..
C#으로 코딩을 할때나 코딩문제를 풀때 형식변환은 매우 빈번하게 발생한다. 특히나, 사용자로부터 입력을 받아서 string 배열로 저장한 다음에 이것을 정수형태로 전환하는 것은 특히나 잦다. 그런데 배열의 각..
백준 단계별로 풀어보기 5단계 1차원배열 5번문제 1546번: 평균 첫째 줄에 시험 본 과목의 개수 N이 주어진다. 이 값은 1000보다 작거나 같다. 둘째 줄에 세준이의 현재 성적이 주어진다. 이 값은 100보다 작거나..
백준 단계별로 풀어보기 5단계 1차원배열 4번문제 3052번: 나머지 각 수를 42로 나눈 나머지는 39, 40, 41, 0, 1, 2, 40, 41, 0, 1이다. 서로 다른 값은 6개가 있다. www.acmicpc.net 문제의 핵심. 1. 리스트에 포..
백준 단계별로 풀어보기 5단계 1차원배열 3번문제 2577번: 숫자의 개수 첫째 줄에 A, 둘째 줄에 B, 셋째 줄에 C가 주어진다. A, B, C는 모두 100보다 크거나 같고, 1,000보다 작은 자연수이다. www.acmicpc.net..
프로그래머스 코딩테스트 연습 Level 1 - 짝수와 홀수 코딩테스트 연습 - 짝수와 홀수 정수 num이 짝수일 경우 "Even"을 반환하고 홀수인 경우 "Odd"를 반환하는 함수, solution을 완성해주세요. 제한 조건 num은..
프로그래머스 코딩테스트 연습 Level 1 - 핸드폰 번호 가리기 코딩테스트 연습 - 핸드폰 번호 가리기 프로그래머스 모바일은 개인정보 보호를 위해 고지서를 보낼 때 고객들의 전화번호의 일부를 가립니다. 전화번..
프로그래머스 코딩테스트 연습 Level1 - 평균 구하기 코딩테스트 연습 - 평균 구하기 정수를 담고 있는 배열 arr의 평균값을 return하는 함수, solution을 완성해보세요. 제한사항 arr은 길이 1 이상, 100 이하인..
프로그래머스 코딩테스트 연습 Level 1 - 직사각형 별찍기 코딩테스트 연습 - 직사각형 별찍기 이 문제에는 표준 입력으로 두 개의 정수 n과 m이 주어집니다. 별(*) 문자를 이용해 가로의 길이가 n, 세로의 길이가..
프로그래머스 코딩테스트연습 Level 1 x만큼의 간격이 있는 n개의 숫자 코딩테스트 연습 - x만큼 간격이 있는 n개의 숫자 함수 solution은 정수 x와 자연수 n을 입력 받아, x부터 시작해 x씩 증가하는 숫자를 n개..
C#에는 프로퍼티라는 아주 효과적인 기능이 존재한다. private 선언을 통해서 변수의 은닉성은 유지하면서도 값을 수정하거나 불러오는 편의성을 확보할 수 있다. 우선은 1. 프로퍼티를 사용하는 가장 기본적인 방..
프로그래머스 코딩테스트 Level 1 - 두 개 뽑아서 더하기 코딩테스트 연습 - 두 개 뽑아서 더하기 정수 배열 numbers가 주어집니다. numbers에서 서로 다른 인덱스에 있는 두 개의 수를 뽑아 더해서 만들 수 있는..
프로그래머스 코딩테스트 1단계 - 나누어떨어지는 숫자배열 코딩테스트 연습 - 나누어 떨어지는 숫자 배열 array의 각 element 중 divisor로 나누어 떨어지는 값을 오름차순으로 정렬한 배열을 반환하는 함수, sol..
백준 단계별로 풀어보기 5단계 1차원배열 2번문제 2562번: 최댓값 9개의 서로 다른 자연수가 주어질 때, 이들 중 최댓값을 찾고 그 최댓값이 몇 번째 수인지를 구하는 프로그램을 작성하시오. 예를 들어, 서로 다..
백준 단계별로 풀어보기 5단계 1차원배열 1번문제 10818번: 최소, 최대 첫째 줄에 정수의 개수 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 N개의 정수를 공백으로 구분해서 주어진다. 모든 정수는 -1,000..
백준 그리디 알고리즘 세탁소 사장 동혁 문제 2720번: 세탁소 사장 동혁 각 테스트케이스에 대해 필요한 쿼터의 개수, 다임의 개수, 니켈의 개수, 페니의 개수를 공백으로 구분하여 출력한다. www.acmicpc.net 문..
백준 그리디 알고리즘 전자레인지 문제 10162번: 전자레인지 3개의 시간조절용 버튼 A B C가 달린 전자레인지가 있다. 각 버튼마다 일정한 시간이 지정되어 있어 해당 버튼을 한번 누를 때마다 그 시간이 동작시간..
백준 단계별로 풀어보기 4단계 while문 1번문제 10952번: A+B - 5 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. www.acmicpc.net 문제의 핵심 1. while문을 사용할 줄 아는가? 2. 점프..
백준 단계별로 풀어보기 3단계 11번 문제 10871번: X보다 작은 수 첫째 줄에 N과 X가 주어진다. (1 ≤ N, X ≤ 10,000) 둘째 줄에 수열 A를 이루는 정수 N개가 주어진다. 주어지는 정수는 모두 1보다 크거나 같고..
백준 단계별로 풀어보기 3단계 for문 10번 문제 2439번: 별 찍기 - 2 첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제 하지만, 오른쪽을 기준으로 정렬한 별(예제 참고)을 출력하시오..
백준 단계별로 풀어보기 3단계 for문 9번 문제 2438번: 별 찍기 - 1 첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제 www.acmicpc.net 문제의 핵심 1. 2중 for문을 사용할 수 있는가?..
백준 단계별로 풀어보기 3단계 for문 8번문제 11022번: A+B - 8 각 테스트 케이스마다 "Case #x: A + B = C" 형식으로 출력한다. x는 테스트 케이스 번호이고 1부터 시작하며, C는 A+B이다. www.acmicpc.net 문제..
백준 단계별로 풀어보기 3단계 for문 7번문제 11021번: A+B - 7 각 테스트 케이스마다 "Case #x: "를 출력한 다음, A+B를 출력한다. 테스트 케이스 번호는 1부터 시작한다. www.acmicpc.net 문제의 핵심 1. 스트..
백준 단계별로 풀어보기 3단계 for문 6번 문제 2742번: 기찍 N 자연수 N이 주어졌을 때, N부터 1까지 한 줄에 하나씩 출력하는 프로그램을 작성하시오. www.acmicpc.net 문제의 핵심 1. 스트링빌더와 for문을 적절..
백준 단계별로 풀어보기 3단계 for문 5번 문제 2741번: N 찍기 자연수 N이 주어졌을 때, 1부터 N까지 한 줄에 하나씩 출력하는 프로그램을 작성하시오. www.acmicpc.net 문제의 핵심 1. 스트링빌더와 for문을 적절..
백준 단계별로 풀어보기 3단계 for문 4번 문제 15552번: 빠른 A+B 첫 줄에 테스트케이스의 개수 T가 주어진다. T는 최대 1,000,000이다. 다음 T줄에는 각각 두 정수 A와 B가 주어진다. A와 B는 1 이상, 1,000 이하..
백준 단계별로 풀어보기 3단계 for문 3번문제 8393번: 합 n이 주어졌을 때, 1부터 n까지 합을 구하는 프로그램을 작성하시오. www.acmicpc.net 문제의 핵심. 1. 변수를 만들고 for문과 조화롭게 사용할 수 있는가?..
백준 단계별로 풀어보기 3단계 for문 2번 문제 10950번: A+B - 3 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. www.acmicpc.net 문제의 핵심 1. for문을 가지고 놀 수 있는가? ( for문..
백준 단계별로 풀어보기 3단계 for문 1번 문제 2739번: 구구단 N을 입력받은 뒤, 구구단 N단을 출력하는 프로그램을 작성하시오. 출력 형식에 맞춰서 출력하면 된다. www.acmicpc.net 문제의 핵심 1. for문을 사용..
백준 단계별로 풀어보기 2단계 if문 5번 문제 2884번: 알람 시계 상근이는 매일 아침 알람을 듣고 일어난다. 알람을 듣고 바로 일어나면 다행이겠지만, 항상 조금만 더 자려는 마음 때문에 매일 학교를 지각하고..
백준 단계별로 풀어보기 2단계 if문 4번 문제 14681번: 사분면 고르기 점 (x, y)의 사분면 번호(1, 2, 3, 4 중 하나)를 출력한다. www.acmicpc.net 문제의 핵심 1. if문을 중첩해서 사용할 수 있는가? 아마 알고..
백준 단계별로 풀어보기 2단계 if문 3번문제 2753번: 윤년 연도가 주어졌을 때, 윤년이면 1, 아니면 0을 출력하는 프로그램을 작성하시오. 윤년은 연도가 4의 배수이면서, 100의 배수가 아닐 때 또는 400의 배수일..
백준 단계별로 풀어보기 2단계 if문 2번문제 9498번: 시험 성적 시험 점수를 입력받아 90 ~ 100점은 A, 80 ~ 89점은 B, 70 ~ 79점은 C, 60 ~ 69점은 D, 나머지 점수는 F를 출력하는 프로그램을 작성하시오. www.ac..
백준 단계별로 풀어보기 2단계 if문 1번문제 1330번: 두 수 비교하기 두 정수 A와 B가 주어졌을 때, A와 B를 비교하는 프로그램을 작성하시오. www.acmicpc.net 문제의 핵심 1. if문을 사용할 수 있는가? 2. switc..
백준 단계별로 풀어보기 1단계 입출력과 사칙연산 11번 문제 2588번: 곱셈 첫째 줄부터 넷째 줄까지 차례대로 (3), (4), (5), (6)에 들어갈 값을 출력한다. www.acmicpc.net 문제의 핵심 1. 문자열에서 특정한 위..
백준 단계별로 풀어보기 1단계 입출력과 사칙연산 10번 문제 10430번: 나머지 첫째 줄에 A, B, C가 순서대로 주어진다. (2 ≤ A, B, C ≤ 10000) www.acmicpc.net 문제의 핵심. 1. 이전 글과 동일 입출력 및 연산..
백준 단계별로 풀어보기 1단계 입출력과 사칙연산 9번 문제 10869번: 사칙연산 두 자연수 A와 B가 주어진다. 이때, A+B, A-B, A*B, A/B(몫), A%B(나머지)를 출력하는 프로그램을 작성하시오. www.acmicpc.net 문제..
백준 단계별로 풀어보기 1단계 입출력과 사칙연산 8번 문제 1008번: A/B 두 정수 A와 B를 입력받은 다음, A/B를 출력하는 프로그램을 작성하시오. www.acmicpc.net 문제의 핵심 1. float보다 더 정확한 정수형을..
백준 단계별로 풀어보기 1단계 입출력과 사칙연산 7번문제 10998번: A×B 두 정수 A와 B를 입력받은 다음, A×B를 출력하는 프로그램을 작성하시오. www.acmicpc.net 문제의 핵심 이전 글과 동일 c# : A+B (1000번..
백준 단계별로 풀어보기 1단계 입출력과 사칙연산 6번문제 1001번: A-B 두 정수 A와 B를 입력받은 다음, A-B를 출력하는 프로그램을 작성하시오. www.acmicpc.net 문제의 핵심 이전 문제와 동일. c# : A+B (1000번..
백준 단계별로 풀어보기 1단계 입출력과 사칙연산 5번 문제 1000번: A+B 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. www.acmicpc.net 입출력 문제가 끝나고 사칙연산 문제가 시작된..
백준 단계별로 풀어보기 1단계 입출력과 사칙연산 11번 문제 2588번: 곱셈 첫째 줄부터 넷째 줄까지 차례대로 (3), (4), (5), (6)에 들어갈 값을 출력한다. www.acmicpc.net 문제의 핵심 1. 문자열에서 특정 위치..
백준 단계별로 풀어보기 1단계 입출력과 사칙연산 10번문제. 10430번: 나머지 첫째 줄에 A, B, C가 순서대로 주어진다. (2 ≤ A, B, C ≤ 10000) www.acmicpc.net 문제의 핵심 1. 이전 문제들과 동일 이번에도 특..
백준 단계별로 풀어보기 1단계 입출력과 사칙연산 9번문제 10869번: 사칙연산 두 자연수 A와 B가 주어진다. 이때, A+B, A-B, A*B, A/B(몫), A%B(나머지)를 출력하는 프로그램을 작성하시오. www.acmicpc.net 문제..
백준 단계별 풀어보기 1단계 입출력과 사칙연산 8번문제 1008번: A/B 두 정수 A와 B를 입력받은 다음, A/B를 출력하는 프로그램을 작성하시오. www.acmicpc.net 문제의 핵심 1. 파이썬에서 나누기 할때 / 와 // 의..
백준 단계별로 풀어보기 1단계 입출력과 사칙연산 7번문제이다. 10998번: A×B 두 정수 A와 B를 입력받은 다음, A×B를 출력하는 프로그램을 작성하시오. www.acmicpc.net 문제의 핵심. 1. 사칙연산을 할 수 있는..
백준 단계별로 풀어보기 1단계 입출력과 사칙연산 6번문제이다. 1001번: A-B 두 정수 A와 B를 입력받은 다음, A-B를 출력하는 프로그램을 작성하시오. www.acmicpc.net 문제의 핵심 1. 입력받고 변환해서 연산할..
백준 단계별로 풀어보기 1단계 입출력과 사칙연산 5번문제이다. 1000번: A+B 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. www.acmicpc.net 드디어 입출력이 끝나고 사칙연산 문제이다..
백준 단계별 풀어보기 1단계 입출력과 사칙연산 4번 문제이다. 10172번: 개 문제 아래 예제와 같이 개를 출력하시오. 입력 출력 예제 입력 1 복사 예제 출력 1 복사 |\_/| |q p| /} ( 0 )"""\ |"^"` | ||_/=\\__|...
백준 단계별 풀어보기 1단계 입출력과 사칙연산 3번 문제이다. 10171번: 고양이 아래 예제와 같이 고양이를 출력하시오. www.acmicpc.net 문제의 핵심 1. 문자열에서 ' 를 출력할 수 있는가? 2. 문자열에서 \(역슬..
백준 단계별 풀어보기 1단계 입출력과 사칙연산 2번문제이다. 10718번: We love kriii ACM-ICPC 인터넷 예선, Regional, 그리고 World Finals까지 이미 2회씩 진출해버린 kriii는 미련을 버리지 못하고 왠지..
백준 사이트의 단계별 풀어보기 문제를 C#으로만 풀다가 C#이 여러가지로 불편한 점이 좀 있어서 파이썬으로도 풀어보고자 한다. 풀면서 느끼는 것은, 진짜 파이썬이 너무 손쉽다... 아무튼 파이썬도 공부를 해야..
백준 단계별 풀어보기 1단계 입출력과 사칙연산 4번 문제이다. 10172번: 개 문제 아래 예제와 같이 개를 출력하시오. 입력 출력 예제 입력 1 복사 예제 출력 1 복사 |\_/| |q p| /} ( 0 )"""\ |"^"` | ||_/=\\__|...
백준 단계별로 풀어보기 1단계 입출력과 사칙연산 3번 10171번: 고양이 아래 예제와 같이 고양이를 출력하시오. www.acmicpc.net 문제의 핵심. 1. \를 사용할 줄 아는가? 2. \ 출력할 수 있는가? 요상한 고양이 모..
백준 단계별풀이 1단계 입출력과 사칙연산의 2번문제이다. 10718번: We love kriii ACM-ICPC 인터넷 예선, Regional, 그리고 World Finals까지 이미 2회씩 진출해버린 kriii는 미련을 버리지 못하고 왠지 모르..
백준 사이트에서 단계별로 풀어보기를 들어가면 차례로 문제를 풀어볼 수 있다. 참고로 말하자면, 이 단계별 풀어보기도 직접 풀어보니까 C#으로 풀기는 매우 어려운 것 같다. 내가 C#을 정석적으로 배웠다기 보..
오늘부터 C#으로 코딩테스트 문제들을 풀어볼 생각이다. 사실 코딩테스트는 파이썬으로 보는게 가장 좋다. 만약 코딩테스트를 실제로 봐야한다면 파이썬으로 보겠지만, 현재 내가 현재 다루고 있는 것이 C#이기 떄..
리스트명 뒤에 .을 찍고 함수를 적어서 사용한다. replace replace("a", "b") - 리스트에서 a를 찾아서 a를 b로 바꾼다. split split("a") - 리스트에서 a를 찾아서 a를 기준으로 리스트를 둘로 나눈다. split() -..
인덱싱 : 문자열에서 한글자씩 가져오는 것. 예시) 리스트명[숫자] - 리스트에서 숫자에 해당하는 글자를 인덱싱하라 슬라이싱 : 특정범위를 잘라서 자른 부위 전체를 가져오는 것. 예시) 리스트명[ 시작인덱스(숫..
문자열에서 줄 바꾸기 : \n 문자열에서 탭 치기 : \t 예제) print("안녕하세요. \t오늘 코딩입니다. \n반갑습니다.") // 출력 //안녕하세요. 오늘 코딩입니다. //반갑습니다 줄바꿈없이 코드를 한 줄에서 이어서..
논리 연산은 참, 거짓을 사용하는 연산자이다. 비트 논리 연산자는 데이터의 각 비트를 대상으로 논리연산을 수행한다. 비트논리연산자는 &, |, ^, ~으로 4가지가 존재하고 이전 글에 관련된 내용이 정리되어있으..
비트 연산자는 언제 사용하는가?? 컴퓨터는 원래 0과 1의 비트 데이터만 다루는 기계다. 그러나 다루는 데이터 형식은 1바이트 크기가 가장 작은 형태다. 바이트 단위가 데이터를 다루기에 용이한 크기이긴 하지만..
널 조건부 연산자 = ?. ?. 가 하는 일은 객체의 맴버에 접근하기 전에 해당 객체가 null인지 검사하여 그 결과가 참(null일때)이면 그 결과로 null을 반환하고, 거짓을 경우에는 . 뒤에 지정된 맴버를 반환한다. ?..
입력 방식 조건식 ? 참의 값 : 거짓의 값 int a = 30; string result = a == 30 ? "삼십" : "삼십아님"; == : 조건식 "삼십" : 참의 값 "삼십아님" : 거짓의 값 using System; namespace ConditionalOperator { cl..
어떠한 값도 가지지 않는 변수를 선언해야할 필요가 생길 수 있다. 이럴때 Nullable 형식을 사용하면 된다. 선언하는 방식 데이터? 변수이름; ex) int? a = null; float? b = null; 다만, Nullable 형식은 값 형식..
열거 형식을 선언하는 방식 enum 열거형식명 : 기반자료형 { 상수1, 상수2, 상수3, ... } ex) enum MessageResult { YES, NO, CANCEL, OK } 기반자료형을 생략하고 사용할 수 있다. 생략할 경우 자동으로 int를 기..
변수는 말 그대로 변화하는 값이다. 코딩에서 변수를 사용하여 다양한 값을 넣거나 바꾸거나 한다. 반면, 상수는 변수와는 다르게 입력된 데이터를 절대로 바꿀 수가 없다. 변수를 선언해놓고 바꾸지 않으면 되지,..
Parse() / ToString() 메소드를 사용하면 된다. 형식이 문자열로 같다면 변수 앞에 (int)를 적어주는 방식으로 형식전환이 가능하다. ex) float a = 2.55; int b = (int)a; // b = 2; 그러나 문자를 숫자로 바꾸거..
2진수 : 0b (숫자 0과 알파벳 b) 16진수 : 0X 또는 0x ( 숫자 0과 알파벳 x ) 진수를 변경하고자 한다면 해당 리터럴을 접두사로서 사용하면 된다.
숫자 형식 / 논리 형식 / 문자열 형식 / 오브젝트 형식으로 나뉜다. 이 중에서 문자열 형식과 오브젝트 형식은 참조 형식에 해당하고, 나머지는 모두 값 형식이다. * 정수 계열 형식 byte : 부호 없는 정수 / 1..
값 형식 : 변수가 값을 담는 데이터 형식 = 스택 메모리 영역에 관련 있음 참조 형식 : 변수가 값 대신 값이 있는 곳의 위치를 담는 데이터 형식 = 힙 메모리 영역에 관련 있음 스택 메모리 영역과 힙 메모리 영역..
변수를 선언하는 방식 int a; 여기서, int 는 [데이터 형식]을 나타내고, a는 식별자라고 한다. 식별자는 변수의 이름을 뜻한다. 변수를 선언한다(Declare)라고 말하는 이유는, 컴파일러에게 변수를 사용할 예정이..
데이터 형식은 [기본 데이터 형식]과 [복합 데이터 형식]으로 이루어져있다. C#은 기본 데이터 형식이 모여서 이루어진 복합 데이터 형식을 지원한다. 복합 데이터의 형식에는 구조체, 클래스, 배열 등이 존재함...
기본적으로 비주얼스튜디오2019에서 c# 콘솔을 실행시키면 다음과 같은 소스코드가 적혀있다. using System; namespace ConsoleApp1 { class Program { static void Main(string[] args) { Console.WriteLine("Hel..
어셈블리어 : 복잡한 기계어 명령을 사람이 이해할 수 있는 기호나 단어로 바꿔줌. 어셈블리어는 사람의 언어에 가깝다. 그러다보니 컴퓨터는 어셈블리어를 이해하지 못함. 이를 해결하기 위해 컴파일이라는 과정..
유니티로 코딩을 입문했고, 거의 모든 것을 유니티를 기반으로 배우다보니까 C#을 다룬 했지만 어디까지나 유니티 한정이었다. 항상 C# 그 자체에 대한 목마름이 있었다. 이 책 저 책 좀 둘러보긴 했지만, 만족스..
1. Mixamo https://www.mixamo.com/#/ Mixamo www.mixamo.com 유니티를 다루게 되면 가장 유명한 Mixamo. 회원가입만 하면 무료로 사용할 수 있다. 캐릭터가 그렇게 많지는 않지만 프로토타입을 제작할 때는 충분..
사실 우리가 살고있는 태양계에는 블랙홀이 없고, 블랙홀이 탄생하기 위해선 엄청나게 큰 질량의 별이 폭발해야되는데, 태양은 질량이 별치고는 너무 작은편이라 폭발하더라도 블랙홀이 되지 않는다. 그렇지만, 우..
가장 우선적으로 태양계를 만들어서 행성들을 공전시켜야했다. 첫번째로 행성 에셋을 가져왔다. Customizable Planet Shaders | 시각 효과 셰이더 | Unity Asset Store Add depth to your next project with Custo..
홀로렌즈를 사용해서 개발을 해볼 기회가 생겼다. 일반인들이 사용하기에는 너무 고가의 제품이라서 대중적이지 않고 기업이나 교육 등 단체에서나 조금 사용하고 있다. 그러다보니 막상 개발을 하려고하니 무엇을..
유니티에서 게임을 제작하다보면 폭발을 구현해야할 때가 있다. 사실 펑하고 터지면서 연기가 나는 등의 이팩트는 에셋을 이용하면 되지만, 폭발이 일어났을 때 주변에 있는 오브젝트가 밀려나거나 반동으로 날아..
1. RoverExplorer에 스크립트 추가 RoverExplorer를 선택하고 Add Component를 통해서 BoundsControl과 Object manipulator를 추가해준 뒤 체크를 해제해준다. 2. 메뉴창 버튼 상호작용 설정 Menu - ButtonColle..
1. 컴포넌트 추가 RoverAssembly와 Parts를 모두 선택한 다음, Add Component를 눌러서 Object Manipulator NearInteractionGrabbable PartAssemblyController 를 추가해준다. 2. Object Manipulator 설정 Objec..
1. RoverParts 들에 컴포넌트를 추가한다 전체 선택을 한 뒤에 한번에 Add Component로 넣어주면 편하다 2. 프리팹 추가 및 설정 MRTK - SDK - Features - UX - Prefabs - Tooltips simple Line ToolTip을 방금..
1. 메뉴창을 가져온다 MRTK - SDK - Features - UX - Prefabs - Menus 메뉴창이 종류별로 존재한다. 필요에 따라서 하나를 가져오면 된다. 나는 4x1을 가져왔다 2. 이름을 변경해준다 이름을 Menu로 변경했고,..
1. Create Empty로 Buttons 생성 RoverExplorer의 자식으로 Buttons를 생성해준다. 2. 버튼 오브젝트를 가져온다 MRTK.Tutorials 폴더 - Prefabs 에 존재하는 PressableRoundButton을 Buttons의 자식으로 드래그..
1. MRTK의 복제&사용자 설정 MixedRealityToolkit을 선택하고 Copy & Customize를 누른다. 2. Clone 생성 다음과 같은 창이 뜨면 Clone을 눌러서 복제해준다. 클론 버튼 위에 있는 Profile Name 칸에 직접 이름..
1. 상호작용을 할 오브젝트에 컴포넌트를 추가한다 RoverAssembly를 선택하고 Add Component를 눌러서 Tap To Place를 추가해준다. 해당 요소가 추가된 오브젝트가 Ray를 맞고있는 상황에서 엄지와 검지를 닿았다..
1. 인디케이터로 사용할 오브젝트를 가져온다 MRTK.Tutorials 폴더 - Prefabs 안에 존재하는 Chevron을 하이어라키창으로 드래그앤드롭하고 이름을 Indicator로 변경. 그리고 Transform을 적절히 조절해서 가리키..
1. Tutorials 폴더에 오브젝트를 하이어라키창에 가져온다 하이어라키창에서 Create Empty를 누르고 RoverExplorer로 이름을 변경해준다. MRTK.Tutorials 폴더 - Prefabs 안에 존재하는 RoverAssembly와 Table을..
// 시간을 표시하는 text UI를 유니티에서 가져온다. public Text gameTimeUI; // 전체 제한 시간을 설정해준다. 여기서는 180초. float setTime = 180; // 분단위와 초단위를 담당할 변수를 만들어준다. int min;..
// 시간을 담당할 변수를 하나 만들어준다. float currTime; // 반복되는 작업이므로 업데이트 함수 안에서 코드를 입력한다. void Update(){ // 시간이 흐르게 만들어준다. currTime += Time.deltatime; // 오브..
void Update() { transform.forward = Camera.main.transform.forward; } 3D 게임인 경우 캐릭터명이나 상대방의 체력바가 각도에 상관없이 항상 보여야할 필요가 있을 수 있다. 플레이어가 존재하는 방향으로 항..
유니티로 게임을 만들다보면 일정 범위 안에 존재하는 오브젝트를 찾아야하는 경우가 잦다. 예를 들면, VR에서 플에이어가 무언가를 잡을때 잡을 수 있는 반경을 설정하거나 폭발효과로 일정 주변을 날려버려야할..
1. 2019.4.28 버전으로 유니티프로젝트를 생성 저장위치에 한글이 없도록 항상 주의하자 2. 빌드세팅을 다음과 같이 설정해준다. Universal Windows Platform 탭을 선택하고 첨부한 것과 같이 세팅하여 스위치..
홀로렌즈2도 유니티로 개발을 진행할 수 있는데 설정이 좀 까다롭다. 상황이나 환경에 따라서 차이점이 많이 존재하겠지만, 현재 기준으로( 2021년 6월 ) 홀로렌즈2의 프로그램 개발을 위한 준비물은 다음과 같다...
기본적으로 ar 세팅을 끝마친 상태로 진행한다 이전 글 참고 2021.06.20 - [AR] - 유니티에서 ARCore 세팅하기 1. AR Session 추가 하이어라키 창에 AR Session과 AR Session Origin을 추가한다. AR Session Orig..
1. 안드로이드로 스위치 플랫폼을 해준다. Ctrl + Shift + B 눌러서 빌드세팅창을 켜고 안드로이드로 변경 ( ios인 경우는 ios로 ) 스위치 플랫폼은 나중에 해도 되지만 개발 도중에 변경을 하게 되면 시간이 오..
PC로 게임을 할 때는 당연히 키보드가 존재하기 때문에 문자를 입력하는데 문제가 없다. 반면에 VR은 게임 상에서 문자 입력을 받을 수 있는 가상의 키보드를 구현해야만 한다. 문자 입력을 받기 위한 여러가지 방..
VR은 PC와 환경이 참 많이 다르다. PC 환경에서는 UI 버튼이 존재하면 그냥 마우스로 클릭하면 되는데 VR에서는 마우스가 없고 마우스와 비슷한 걸 만들더라도, 클릭이나 버튼을 인식하는 방식을 PC와는 다르게 구..
DAVIGO 게임이 출시되지 않아 직접 플레이 해 볼 수가 없어서 온전히 카피할 수가 없었다. 그러다보니 개발을 진행하는 과정에서 몇가지 변경점이 있었다. 원작인 DAVIGO는 보스몹의 역할을 수행하는 VR 1인과 하..
유니티에서 VR로 무언가를 만들고자한다면 기본적인 상태에서는 불가능하다. VR을 사용하기 위해서 적절한 환경을 설정해주어야한다. 일단 나는 오큘러스(oculus)를 가지고 개발을 진행하기 때문에 유니티에서 오..
VR 카피 게임 프로젝트를 시작했다. 무엇을 만드는 것이 가장 공부도 많이되고 스스로도 발전할 수 있을까를 생각했고, 기존에 하던 것들과는 차이점이 있어서 재미도 있는 게임을 찾아봤다. 사실 VR 게임이 대중..