1. 문제 상세 https://www.acmicpc.net/problem/24262 2. 문제 접근 입력받는 n 이 어떤 값이든 주어진 알고리즘의 수행 횟수는 1번이다. 따라서 시간 복잡도가 O(1) 이므로 1 과 0 을 출력하자. 3. 문제 풀이 #include using namespace std; int main() { int n; cin >> n; cout
전체 글
게임 만들고 싶어요1. 문제 상세 https://www.acmicpc.net/problem/14215 2. 문제 접근 세 변의 길이를 입력받아서 가장 큰 삼각형을 만들고 그 둘레를 출력하자. 이 문제에서 포인트는 막대의 길이를 줄일 수 있다는 것이다. 삼각형에서 세 변 a, b, c 가 있다고 할 때, c 가 가장 긴 변이라면 a + b > c 가 되어야 한다. 따라서 입력받은 세 변의 길이를 오름차순 a, b, c 형식으로 정렬한다. 변의 길이가 a + b > c 이거나 세 변이 모두 같다면 세 변의 길이의 합을 출력한다. 아닌 경우에는 변의 길이를 줄일 수 있으므로 c 의 값이 a + b 의 값보다 작도록, 즉 c 가 a + b - 1 의 값이 되도록 한다. 이 때 삼각형의 둘레의 길이는 a + b + c 이므로 결과..
1. 문제 상세 https://www.acmicpc.net/problem/5073 2. 문제 접근 무한 루프로 계속 반복하여 세 변의 길이 a, b, c 를 입력받자. 값을 입력받고 값이 0 0 0 이면 빠져나온다. 아닌 경우 a, b, c 가 모두 같은지 확인, 맞다면 Equilateral 을 출력. 아닌 경우 가장 큰 변이 두 변을 더한 값보다 큰지 확인, 맞다면 Invalid 를 출력. 아니라면 같은 변이 있는지 확인하여 맞다면 Isosceles 를, 없다면 Scalene 을 출력하자. 3. 문제 풀이 #include using namespace std; int main() { int a, b, c; while (true) { cin >> a >> b >> c; if (a == 0 && b == 0..
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..