본문 바로가기

분류 전체보기462

[DirectX] 3차원 구 그리기(구, 직선 충돌) 본 내용은 강의를 토대로 작성하였습니다. honglab에서 강의를 구매하실 수 있습니다. 원리 1. 모니터 픽셀을 시작으로 모니터와 수직인 방향으로 가상 공간을 향해 광선을 쏴준다. 2. 광선에 부딪힌 물체로부터 색을 가져온다. 여기서 z 방향은 const auto rayDir = vec3(0.0f, 0.0f, 1.0f); 색을 가져오기 위해서는 먼저 광선이 물체에 닿았는지 안 닿았는지 먼저 판단이 필요 const Hit hit = sphere->IntersectRayCollision(ray); // 광선이 물체에 닿으면 그 물체의 색 반환 vec3 traceRay(Ray &ray) { const Hit hit = sphere->IntersectRayCollision(ray); if (hit.d < 0... 2023. 8. 29.
교환(Swap) / 매개변수: 값 복사, 포인터, 참조 비교 int SwapValue(int a, int b) // 값 복사 { int temp = a; a = b; b = temp; return ? // 문제: 반환을 해 줄 수 없음 } void SwapPtr(int* a, int* b) //포인터 { int temp = *a; *a = *b; *b = temp; } void SwapRef(int& a, int& b) //참조 { int temp = a; a = b; b = temp; } int main() { int a = 2; int b = 3; cout 2023. 8. 28.
[백준 26122] 가장 긴 막대 자석 https://www.acmicpc.net/problem/26122 26122번: 가장 긴 막대 자석 막대 자석 문자열은 문자 N과 S로만 구성되면서 다음과 같은 조건을 만족하는 문자열이다: 막대 자석 문자열에 등장하는 N의 개수와 S의 개수는 동일하며, 문자열의 앞쪽 절반을 구성하는 문자는 www.acmicpc.net 문제 막대 자석 문자열은 문자 N과 S로만 구성되면서 다음과 같은 조건을 만족하는 문자열이다: 막대 자석 문자열에 등장하는 N의 개수와 S의 개수는 동일하며, 문자열의 앞쪽 절반을 구성하는 문자는 모두 N이거나 모두 S이다. 예를 들어, NS, NNSS, SSSNNN 등은 막대 자석 문자열이지만, SNS, NNNSS, NSNS 등은 막대 자석 문자열이 아니다. 윤이는 문자 N과 S로 구성.. 2023. 8. 27.
[백준 2566] 최댓값 https://www.acmicpc.net/problem/2566 2566번: 최댓값 첫째 줄에 최댓값을 출력하고, 둘째 줄에 최댓값이 위치한 행 번호와 열 번호를 빈칸을 사이에 두고 차례로 출력한다. 최댓값이 두 개 이상인 경우 그 중 한 곳의 위치를 출력한다. www.acmicpc.net 문제 과 같이 9×9 격자판에 쓰여진 81개의 자연수 또는 0이 주어질 때, 이들 중 최댓값을 찾고 그 최댓값이 몇 행 몇 열에 위치한 수인지 구하는 프로그램을 작성하시오. 예를 들어, 다음과 같이 81개의 수가 주어지면 이들 중 최댓값은 90이고, 이 값은 5행 7열에 위치한다. 입력 첫째 줄부터 아홉 번째 줄까지 한 줄에 아홉 개씩 수가 주어진다. 주어지는 수는 100보다 작은 자연수 또는 0이다. 출력 첫째 줄.. 2023. 8. 27.
[백준 10996] 별 찍기 -21 https://www.acmicpc.net/problem/10996 10996번: 별 찍기 - 21 예제를 보고 규칙을 유추한 뒤에 별을 찍어 보세요. www.acmicpc.net 문제 예제를 보고 규칙을 유추한 뒤에 별을 찍어 보세요. 입력 첫째 줄에 N(1 ≤ N ≤ 100)이 주어진다. 출력 첫째 줄부터 차례대로 별을 출력한다. 예제 입력 1 1 예제 출력 1 * 예제 입력 2 2 예제 출력 2 * * * * 예제 입력 3 3 예제 출력 3 * * * * * * * * * 예제 입력 4 4 예제 출력 4 * * * * * * * * * * * * * * * * 사고과정 /* 총 2n줄에 별을 찍고, 한 줄에는 n칸이 있다고 생각. 홀수줄은 홀수번째 칸에 별을찍고, 짝수번째 칸은 비움 짝수줄은 짝수번.. 2023. 8. 27.
[백준 2446] 별 찍기 - 9 https://www.acmicpc.net/problem/2446 2446번: 별 찍기 - 9 첫째 줄부터 2×N-1번째 줄까지 차례대로 별을 출력한다. www.acmicpc.net 문제 예제를 보고 규칙을 유추한 뒤에 별을 찍어 보세요. 입력 첫째 줄에 N(1 ≤ N ≤ 100)이 주어진다. 출력 첫째 줄부터 2×N-1번째 줄까지 차례대로 별을 출력한다. 예제 입력 1 5 예제 출력 1 ********* ******* ***** *** * *** ***** ******* ********* 풀이 / 5번을 풀었으면 5번을 거꾸로 활용해서 풀 줄 알아야 함 #include using namespace std; int main() { int n; cin >> n; int num = n * 2 - 1; for.. 2023. 8. 27.