문제 바로가기 https://www.acmicpc.net/problem/2577 관련 알고리즘 - 해당 없음 정답 및 해설 입력받은 세 수를 모두 곱해서 나온 수의 각 자리 숫자의 개수를 세는 문제이다. 위에 적혀 있듯 곱한 수가 17037300 이면 3, 1, 0, 2, 0, 0, 0, 2, 0, 0을 한 줄에 하나씩 출력하면 된다. 각 자릿수를 분리하는 방법 중 while 문을 사용하여 풀이하고자 한다. 곱한 수를 Mult에 저장해 두고 while(Mult) 반복문을 사용하여 Mult>0 인 조건을 만족하는 동안 작동할 수 있도록 하고, while 문 안에서 Mult%10으로 각 자릿수를 분리한 후, Mult/=10으로 자리 수를 하나씩 줄여나가는 방식으로 풀이하자. ※ C와 C++, Java의 경우..
문제 바로가기 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
문제 바로가기 https://www.acmicpc.net/problem/2439 관련 알고리즘 - 해당 없음 정답 및 해설 자연수 N을 입력받아서 예제 출력과 동일한 양식으로 *을 출력하는 문제이다. 예제 출력을 통해 우측 끝으로 정렬된 *을 1개, 2개, 3개,... N개까지 출력하는 문제이다. * 문자의 좌측을 공백으로 Padding해서 (채워서) 해결할 수 있다. C++ 더보기 #include using namespace std; int main(){ int n; cin>>n; for(int i=1; i
문제 바로가기 https://www.acmicpc.net/problem/1157 관련 알고리즘 - 아스키코드 정답 및 해설 문자열을 입력받아 대소문자 구분 없이 가장 많이 포함된 알파벳을 찾는 문제이다. 아스키코드를 사용하여 간단하게 풀어낼 수 있겠지만 대소문자 구분이 없다는 점에 주의해서 코드를 작성해야 한다. C++ 더보기 #include using namespace std; int main(){ char c; int i,max=0,s[26]={0,}; while(1){ cin>>c; if(cin.eof()) break; if(c>='a') c-=32; s[c-'A']++; } for(i=1; is[max] ? i:max; } for(i=0; i
문제 바로가기 https://www.acmicpc.net/problem/1152 관련 알고리즘 - 해당 없음 정답 및 해설 문자열 한 줄을 입력받아 그 문장이 몇 개의 단어로 이루어져 있는지 판단하는 문제이다. 해당 문제에서는 예제 입력에서 예외를 발생시키는 상황에 관한 힌트가 주어졌다. 첫 번째 문자와 마지막 문자에 공백이 입력되는 것인데 대부분의 문제에서는 위와 같은 예외 입력을 알려주지 않으니, 직접 찾아서 처리해야 한다. 힌트와 같이 문자열 중간에 공백이 있는 경우 단어의 경계로 간주할 수 있지만 처음과 마지막에 공백이 들어가는 경우에는 그렇지 않다. 이를 코드를 작성할 때 반드시 잊지말고 반영하여야 한다. C++ 더보기 #include #include using namespace std; int..
문제 바로가기 https://www.acmicpc.net/problem/1000 관련 알고리즘 - 해당 없음 정답 및 해설 입력받은 두 정수의 합을 출력하는 간단한 문제이다. C ++ 더보기 #include using namespace std; int main(){ int A,B; cin>>A>>B; cout