목록전체 글 (222)
피너클의 it공부방
https://www.acmicpc.net/problem/32642구현문제다.int n;long long ans = 0;long long angry = 0;변수는 long long으로 설정해준다. 문제에서 권장해줬다.cin >> n;int b;for (int i = 0; i > b; if (b == 1) angry += 1; else angry -= 1; ans += angry;}그리고 그냥 값 입력받으면서1을 입력받으면 화가났으니 angry + 1을 해주고 아니면 화가 줄어들었으니 angry - 1을 해준다.그후 ans에 angry를 더하면 된다.#include #include using namespace std;int n;long long ans = 0;long long angry = 0;int ma..
https://www.acmicpc.net/problem/1253투포인터 문제다.7-1 -1 0 0 1 1 2이렇게 입력이 들어왔다고 가정해보자. 나는 가장 왼쪽에 있는 -1부터 좋은 수 인지 확인할것이다.-1 과 2를 확인한다. 합은 1이다. 목표는 -1이다. 합이 목표보다 크다.-1 과 1을 확인한다. 합은 0이다. 목표는 -1이다. 합이 목표보다 크다.-1 과 0을 확인한다. 합은 -1이다. 목표는 -1이다. 합과 목표가 같다.이러면 -1은 좋은수인것이다. 이번에는 -1 오른쪽에 있는 -1을 확인하고 그 다음에는 0을 확인하고그 다음에는 0 오른쪽에 있는 0을 확인하고 이런식으로 쭉 가면 된다. cin >> n;for (int i = 0; i > a[i];sort(a, a + n);int ans ..

마우스의 위치를 받아준다음마우스위치 - 오브젝트 위치를 함으로서 방향을 구할때 사용할 벡터를 구한다.그후 Mathf.Atan2와 Mathf.Rad2Deg를 이용해 각을 구한뒤Quaternion을 rotation에 넣어주면 된다. 잘 작동된다.

가만히 회전하는것 먼저 만들었다.코루틴을 이용해 계속해서 작동하게 만들었고 rl변수는 오른쪽을 회전할지 왼쪽으로 회전할지 결정하는 변수다.transform.rotate를 이용해 회전하게 만들었으며 중간중간 WaitForSecond를 이용해 천천히 회전하게 했다. 이제 적이 플레이어가 있다는 사실을 알 수 있어야 하는데1. 적과 플레이어 사이의 거리가 가깝고2. 플레이어가 적의 시야 안에 들어있음혹은1. 플레이어가 쏜 총 소리를 적이 듣는다.위의 2개의 경우에 플레이어를 쫒아가게 만들었다.플레이어와 적 사이의 거리를 확인하는 함수다.시야 안에 들어와있는지 확인하는 함수다.위에는 총 소리를 듣는 함수다. 위에 함수들에서 각각 bool 변수를 가지고 있고 조건이 성립되면쫒는 상태가 된다. 이후로는 플레이어를 ..

맵을 더 크게 만들고적을 추가했다.저택밖, 저택 1층, 저택 2층 을 들어가고 나갈때마다 카메라의 움직임을 만들어 줬다. 그리고 총 줍는것과 칼 줍는 것, E버튼을 누르면 무기를 바꾸게했다. R을 누를경우 탄창을 교환하며 플레이어 아래 탄창 스프라이트를 생성하게 했다. 그리고 타겟을 죽일경우 클리어 메세지가 나오게 했다.이제 적을 만들건데 적의 상태를 정의했다. 적은 총쏘는 적과 칼쓰는 적 2종류만 만들기 기본 상태 1. 가만히 있는다. [문 앞에서 대기하는 것 처럼] 2. 가만히 회전하며 주변을 돌아본다. [주변 경계 하는 사람] 3. 특정 위치를 왔다갔다 한다. [똑같이 경계하는 사람] 쫒는 상태 플레이어가 시야 안에 들어왔을 경우 총 소리를 들었을 경우 쫒는다. 특정 거리 안에 들어가면 공격을 시작..

위에 에서 아래로 내려가는게 목표다. 위에서만 이동하고 있고 아래로 내려가면 Border때문에 끊긴다. 아래로 내려가면 Border가 바뀌게 할것이다.Up_Trigger와 Down_Trigger를 만들고 위 아래로 BoxCollider2D로 경계를 만들었다.이때 둘이 겹치게 하는게 포인트다.Up_Trigger에 넣을 스크립트다. 들어가면 bool_in을 체크하고 나가면 bool_out을 체크한다.Up_Trigger에서 나갔는데 Down_Trigger는 bool_in이 체크되어있는 상태면 어떤 상태일까아래 하얀 원이 있는 그 곳일것이다. 즉 위에서 아래로 내려온 상황일것이다.그럼 시네머신의 border를 아래 border로 바꿔주면 된다.이건 Down_Trigger에 들어가는 스크립트다.하이라키에서는 이렇..
https://www.acmicpc.net/problem/2720 단순 수학 문제다.#include #include using namespace std;int test, c;int Quarter = 25;int Dime = 10;int Nickel = 5;int Penny = 1;int main(){ ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); cin >> test; while (test-- > 0) { cin >> c; cout 전체코드다.

먼저 스프라이트를 하나 준비했다.지금 위에 스프라이트가 하나 있다. 하얀색이어서 보이지가 않는다.이걸로 메테리얼을 하나 만들거다.위에 스프라이트를 유니티에 가져와주고 메테리얼을 하나 만들어준다.스프라이트 세팅은 위에처럼 했다.그후 만든 메테리얼의 Albedo에 스프라이트를 넣어준다.그후 메테리얼의 Shader를 Sprites/Default로 바꿔준다.linerenderer로 라인 하나 만들어 줬다. 포지션만 5, 5 로 바꿔줬다.이제 라인 렌더러 Materials를 방금 만든 DottedLine으로 바꿔준다.그 다음 TextureMode를 Tile로 바꿔준다 그러면 옆에처럼 라인이 바뀐걸 볼수있다.왜냐하면 내가 한가지를 까먹었기 때문이다.스프라이트 설정으로 돌아가서 WrapMode를 Repeat로 바꿔준..
https://www.acmicpc.net/problem/15661 그냥 전부 만들어 보면 되는 문제였다. for (int i = 1; i > s[i][j];전부 입력받아준다. 이때 0부터가 아닌 1부터 입력을 받아줬다.vector start, link;start팀과 link팀을 벡터로 만들고 번호를 넣었다 뺐다 반복할 것이다.int cal(int b) { int sum = 0; if (b == 0) { if (start.size() == 0) return 987654321; for (int i = 0; i 각 팀의 총 능력치를 구하는 함수다.if (start.size() == 0) return 987654321;for (int i = 0; i 중요한건 어떻게 계산하냐는 건데 일단 만약 팀의 크기가..
https://www.acmicpc.net/problem/1094 수학문제다.우리가 만들수 있는 막대기의 길이는 64 32 16 8 4 2 1 즉 2의 제곱숫자들이다.이 숫자들로 x길이의 막대기를 만들어야한다. int s = 64; int ans = 0; while (x > 0) { if (x >= s) { x -= s; ans++; } s /= 2; } cout x를 계속해서 뺀다.64보다 크거나 같으면 64로 빼고 32보다 크거나 같으면 32로 빼고이를 반복하다보면 결국 x는 0이 되고 반복문은 종료된다.뺀 횟수를 ans에 넣고 마지막에 ans를 출력하면 된다. #include using namespace std;int x;int main(){ ios::sync_with_stdio(0)..