전체 글

게임 만들고 싶어요
1. 문제 상세 https://www.acmicpc.net/problem/10101 2. 문제 접근 입력받은 세 각을 비교하고 조건에 따라 출력하자. 입력받은 세 각을 a, b, c 라고 하자. a, b, c 가 모두 60으로 같은지 확인(a = b, b = c, a = c, a = 60) 하고 맞다면 Equilateral 을 출력한다. a + b + c 의 값이 180인지, a 와 b, 또는 a 와 c, 또는 b 와 c 가 같은지 확인하고 맞다면 Isosceles 를 출력한다. a + b + c 의 값이 180이라면 Scalene 를 출력한다. 모두 아닌 경우 Error 를 출력한다. 3. 문제 풀이 #include using namespace std; int main() { int a, b, c; c..
1. 문제 상세 https://www.acmicpc.net/problem/9063 2. 문제 접근 입력받은 점의 좌표에서 가장 큰 x, y 좌표와 가장 작은 x, y 좌표를 찾는다. 큰 좌표에서 작은 좌표를 빼서 가로, 세로의 길이를 구한다. 이 값을 곱해 직사각형의 넓이를 구한다. 3. 문제 풀이 #include using namespace std; int main() { int n, pos[100000][2], x_min = 10000, y_min = 10000, x_max = -10000, y_max = -10000; cin >> n; for (int i = 0; i > pos[i][0] >> pos[i][1]; x_min = x_min >= pos[i][0] ? po..
1. 문제 상세 https://www.acmicpc.net/problem/15894 2. 문제 접근 맨 아래줄의 정사각형이 n 개일때 둘레의 길이는 4n 이 된다. 따라서 입력받은 정수에 4를 곱한값을 출력하면 된다. 여기서 주의할 점은 n 이 최대 109 까지 입력된다는 점이다. 따라서 변수를 선언 할 때 int 형이 아닌 더 큰 범위를 가지는 long 형 이상의 변수로 선언하자. 3. 문제 풀이 #include using namespace std; int main() { long n; cin >> n; cout
1. 문제 상세 https://www.acmicpc.net/problem/3009 2. 문제 접근 직사각형의 네 점의 좌표에서 규칙을 찾아 문제를 해결하자. 직사각형의 네 점의 좌표들을 살펴보면 총 8개의 x, y 좌표중 같은 x, y 좌표가 네 쌍이 있다는 것을 알 수 있다. 이를 활용하여 세 점의 좌표를 입력받았다면 같은 x, y 좌표가 세 쌍이 나올 것이고 남는 x, y 좌표가 마지막 점의 좌표가 된다. 먼저 입력받은 첫 번째 점의 x 좌표와 두 번째 점의 x 좌표를 비교해 같다면 세 번째 점의 x 좌표를 출력하자. 다르다면 첫 번째 점의 x 좌표와 세 번째 점의 x 좌표를 비교하여 같다면 두 번째 점의 x 좌표를 출력하자. 모두 아닌 경우 첫 번째 점의 x 좌표를 출력한다. y 좌표도 동일하게 비..
1. 문제 상세 https://www.acmicpc.net/problem/1085 2. 문제 접근 좌표 x, y 와 왼쪽 아래 점 0, 0 부터 오른쪽 위 점 w, h 크기의 직사각형이 주어진다. 가장 가까운 거리를 구하기 위해 최솟값을 저장 할 변수를 만들자. 변수에 입력받은 x, y 중 작은 값을 넣는다. 직사각형의 한 점이 0, 0 에서 시작하기 때문에 각 좌표 x, y 중 더 작은 값이 경계선까지의 최소값이 된다. 그리고 입력받은 w 에서 x 를 빼고, h 에서 y 를 빼준다, 뺸 값을 최소값과 비교하여 작을 경우 최소값에 저장하자. 3. 문제 풀이 #include using namespace std; int main() { int a, b, w, h, min; cin >> a >> b >> w ..
1. 문제 상세 https://www.acmicpc.net/problem/11653 2. 문제 접근 입력받은 수를 소인수분해 하는 과정을 출력하자. 입력받은 수 N 을 1이 될 때 까지 2부터 N 까지의 수로 나누며 나눈 수를 출력한다. 주의할 점은 N 을 나누었을 때 나머지가 0이 아닐 경우에만 다음 수로 나눠야한다는 것이다. 예를 들어서 N 이 12인 경우를 보자. 12를 2로 나눌 경우 나머지가 0이기 때문에 2로 나눠서 N 은 6이 되고 2를 출력한다. 6을 2로 나누면 나머지가 0이기 때문에 6을 2로 나눠서 N 은 3이 되고 2를 출력한다. 3은 2로 나누었을 때 나머지가 0이 아니기 때문에 2 다음인 3으로 나눠보자. 3을 3으로 나누면 나머지가 0이기 때문에 3으로 나눠 N 은 1이 되고 ..
Dry_p
건조한 프로그래밍