문제 바로가기 https://www.acmicpc.net/problem/4153 4153번: 직각삼각형 입력은 여러개의 테스트케이스로 주어지며 마지막줄에는 0 0 0이 입력된다. 각 테스트케이스는 모두 30,000보다 작은 양의 정수로 주어지며, 각 입력은 변의 길이를 의미한다. www.acmicpc.net 관련 알고리즘 - 수학 정답 및 해설 정수를 3개 입력받아서 세 정수로 이루어진 삼각형이 직각 삼각형인지 확인하는 문제이다. 직각삼각형은 가장 긴 변의 제곱이 나머지 두 변 각각의 제곱의 합과 같은지 확인하여 찾아낼 수 있다. 간단한 수학 문제이니 수식을 세워서 해결하기 간단한 문제이다. 그 전에 예제 입력으로 보아 항상 긴 변이 마지막에 올거라 생각할 수도 있겠지만 가장 긴 변을 찾아서 계산을 진행..
문제 바로가기 https://www.acmicpc.net/problem/10818 관련 알고리즘 - 해당 없음 정답 및 해설 정수 N개를 입력받아 그중 최솟값과 최댓값을 차례대로 출력하는 문제이다. 최솟값과 최댓값을 저장할 변수를 정의하고, 정수를 새로 입력받을 때마다 기존 값과 비교하여 업데이트하는 것으로 간단하게 해결할 수 있다. 이때 최솟값의 초기값은 입력할 수 있는 최대정수보다 큰 수, 최댓값의 초기값은 입력할 수 있는 최소정수보다 작은 수로 해야 한다. 최솟값의 경우만 살펴보도록 하자. 만약 초기값보다 작은 정수가 입력되지 않는다면 초기값이 출력되어 오답을 만들어낼 수 있다. 따라서 입력될 수 있는 모든 정수보다 큰 수(1,000,000)를 초과하는 수로 초기값을 설정해야 한다. ex) 초기값을..
문제 바로가기 https://www.acmicpc.net/problem/10250 관련 알고리즘 - 수학 정답 및 해설 가장 좌측열부터 호텔 손님에게 방을 배정하는 문제이다. 가장 아래층 1호부터 가장 위층 1호방이 다 찼을 경우, 그 때 다음 호수(2호) 가장 아래층부터 배정하는 순서이다. 알고리즘 칸에 '수학'으로 기재해두었는데, 해당 문제의 경우 간단한 나머지 계산으로 정답을 구할 수 있다. 층수는 N%H (나머지)로, 호수는 N/H의 정수부(몫)로 나타낼 수 있기 때문이다. 예를 들어 H=3, W=4인 호텔의 10번째 방 : 층수 = 10%3 = 1, 호수 = (10/3)+1 = 4 즉, 104호이다. 301 (3) 302 (6) 303 (9) 304 (12) 201 (2) 202 (5) 203 ..
문제 바로가기 https://www.acmicpc.net/problem/2884 관련 알고리즘 - 해당 없음 정답 및 해설 현재 시간과 분을 입력받아 45분전 시간을 출력한다. 45분을 먼저 빼고 음수가 되는 시간이 있다면 양수로 바꾸어 출력하면 해결할 수 있다. C++ 더보기 #include using namespace std; int main(){ int h,m; cin>>h>>m; m-=45; if(m
문제 바로가기 https://www.acmicpc.net/problem/2562 관련 알고리즘 - 해당 없음 정답 및 해설 9개의 정수를 입력받아 그중 최댓값과 최댓값의 인덱스(몇 번째)를 출력하는 문제이다. 값이 하나 입력될 때마다 기존 최댓값과 비교해서 값과 인덱스를 업데이트하여 간단하게 해결할 수 있다. C++ 더보기 #include using namespace std; int main(){ int MAX=0,idx,n; for(int i=1;i>n; if(n>MAX){ MAX=n; idx=i; } } cout