본문 바로가기

반응형

분류 전체보기

(139)
[백준][C++] 1934 : 최소공배수 https://www.acmicpc.net/problem/1934 1934번: 최소공배수 두 자연수 A와 B에 대해서, A의 배수이면서 B의 배수인 자연수를 A와 B의 공배수라고 한다. 이런 공배수 중에서 가장 작은 수를 최소공배수라고 한다. 예를 들어, 6과 15의 공배수는 30, 60, 90등이 있 www.acmicpc.net - 문제 두 수가 주어지면 두 수의 최소 공배수를 구하는 문제다. - 해설 유클리드 호제법이라는 것을 알게 되었는데, 이것을 이용하면 최소공배수, 최대공약수 문제가 쉽게 풀린다. - 풀이 #include #include using namespace std; int gcd(int x, int y) { return (x % y == 0) ? y : gcd(y, x % y); } i..
[백준][C++] 5086 : 배수와 약수 https://www.acmicpc.net/problem/5086 5086번: 배수와 약수 각 테스트 케이스마다 첫 번째 숫자가 두 번째 숫자의 약수라면 factor를, 배수라면 multiple을, 둘 다 아니라면 neither를 출력한다. www.acmicpc.net - 문제 배수인지, 약수인지 둘 다 아닌지 구하는 문제다. - 해설 %를 이용하면 너무 쉽게 풀린다. 이걸 못 풀어서 사람들 풀이를 찾아볼 정도면 기초부터 다시 잡고 문제를 풀어야 하는 게 좋을 것 같다. - 풀이 #include #include #include using namespace std; int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); i..
[백준][C++] 1358 : 하키 https://www.acmicpc.net/problem/1358 1358번: 하키 첫째 줄에 수 W H X Y P가 주어진다. P는 선수의 수이다. W와 H는 100보다 작거나 같은 자연수이고, H는 짝수이다. X와 Y는 절댓값이 100보다 작거나 같은 정수이다. P는 최대 50인 자연수이다. 둘째 줄부 www.acmicpc.net - 문제 하키장 모양의 도형의 x,y 좌표가 주어질 때 하키장 내부에 하키 선수들이 몇명 있는지 구하는 문제다. - 해설 1. 중앙의 네모 안에 하키 선수가 있을 경우 2. 좌측 동그라미에 하키 선수가 있을 경우 3. 우측 동그라미에 하키 선수가 있을 경우 이렇게 세가지 경우를 구하면 된다. - 풀이 #include #include using namespace std; in..
[백준][C++] 2477 : 참외밭 https://www.acmicpc.net/problem/2477 2477번: 참외밭 첫 번째 줄에 1m2의 넓이에 자라는 참외의 개수를 나타내는 양의 정수 K (1 ≤ K ≤ 20)가 주어진다. 참외밭을 나타내는 육각형의 임의의 한 꼭짓점에서 출발하여 반시계방향으로 둘레를 돌면서 지 www.acmicpc.net - 문제 ㄱ-자 와 비슷한 모양인 밭에서 자랄 수 있는 참외의 수를 구하는 문제이다. - 해설 total을 통해 1,2,3,4(방향) 중에서 한번씩만 나온 것을 곱해주면 총 사각형의 면적을 구할 수 있고, small을 통해 1,2,3,4 중에서 두 번씩 나온 것들 중에서 사이에 작은 사각형을 만드는 길이들을 구해서 작은 사각형의 면적을 구해 빼주면 된다. 이후에 면적당 참외가 자라는 만큼 곱하면..
[백준][C++] 11478 : 서로 다른 부분 문자열의 개수 https://www.acmicpc.net/problem/11478 11478번: 서로 다른 부분 문자열의 개수 첫째 줄에 문자열 S가 주어진다. S는 알파벳 소문자로만 이루어져 있고, 길이는 1,000 이하이다. www.acmicpc.net - 문제 문자열이 주어지면 그 문자열의 부분 문자열 중에서 서로 다른 문자열의 개수를 구하는 문제다. - 해설 substr와 map를 이용해서 쉽게 풀 수 있다. - 풀이 #include #include #include using namespace std; int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); string s; map m; cin >> s; for (int i = 0; i < s.size();..
[백준][C++] 1269 : 대칭 차집합 https://www.acmicpc.net/problem/1269 1269번: 대칭 차집합 첫째 줄에 집합 A의 원소의 개수와 집합 B의 원소의 개수가 빈 칸을 사이에 두고 주어진다. 둘째 줄에는 집합 A의 모든 원소가, 셋째 줄에는 집합 B의 모든 원소가 빈 칸을 사이에 두고 각각 주어 www.acmicpc.net - 문제 두 집합이 주어지면 두 집합의 차집합을 모두 더하는 문제다. - 해설 이건 map으로 풀어야 한다는 생각 없이 그냥 풀었다가 진짜 브론즈 문제인것 처럼 find를 이용해 차집합을 구했다. 다른 사람들이 푼 거 중에서 가장 잘 만들었고 내가 만약 map으로 풀었으면 이렇게 풀었을 것 같은 걸 같이 첨부하겠다. - 풀이 #include #include using namespace std..
[백준][C++] 1764 : 듣보잡 https://www.acmicpc.net/problem/1764 1764번: 듣보잡 첫째 줄에 듣도 못한 사람의 수 N, 보도 못한 사람의 수 M이 주어진다. 이어서 둘째 줄부터 N개의 줄에 걸쳐 듣도 못한 사람의 이름과, N+2째 줄부터 보도 못한 사람의 이름이 순서대로 주어진다. www.acmicpc.net - 문제 이름이 포함된 array가 두개 주어지면 둘 모두에 있는 이름을 출력한다. - 해설 map를 만들어서 두 개의 이름 집합에 대해서 ++해주면 2 이상인 이름이 듣도보도 못한 이름이 된다. - 풀이 #include #include #include #include using namespace std; #define fastio \ ios_base::sync_with_stdio(false);..
언리얼엔진5 1-8. 자동소총 + 산탄총 만들기 1. AssaultRifle에서 부족했던 마우스 쭉 누르면 총알 계속 나가는거랑 반동주는거를 넣어봤다. 비슷하게 만들려고 하는 Orcs must Die! 3에서는 모든 무기에 반동이 없어서 이 부분은 괜히 했나 싶기는 하다. 2. 똑같은 걸 산탄총에도 해 봤다. 산탄총은 그 대신 한번 쏠때 BulletCount라는 int형 변수에 저장한 '8'만큼 쏘기로 했다. for loop을 돌려서 한 번 쏠때 8개의 총알이 나가도록 했는데, 이러면 총알이 순차적으로 나가면서 AI를 쐈을 때 피만 뿜어지는게 아니라 Concrete와 같은 곳에 부딪힐 때 튀는 효과가 나길래 일단은 총알을 소환하지 않는 걸로 해놨다. 또 드디어 장전 시간 맞추는 방법을 깨달았다.

반응형