문제 바로가기 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
Brute Force Algorithm - 브루트 포스 알고리즘 가능한 모든 경우의 수를 대입하여 탐색하는 완전 탐색 알고리즘 해가 존재할 수 있는 모든 경우를 집어넣어 결과를 확인하는 알고리즘이다. 브루트포스의 경우 특수한 알고리즘이라기 보단 누구나 생각할 수 있는 간단한 풀이방법에 가깝다. 예를 들어, 0~9까지 의 숫자 중 4자리 숫자를 맞추면 풀리는 자물쇠가 있다고 하자. 이 자물쇠에 관한 어떠한 힌트도 주어지지 않은 상태에서 자물쇠를 풀려고 하면 0000, 0001, 0002,... , 9998, 9999처럼 입력 가능한 모든 경우의 수를 시도하여 자물쇠가 풀릴 때 까지 반복해야 한다. 위와 같은 방식으로 문제를 해결하는 알고리즘을 브루트 포스 알고리즘이라 칭한다. 장점 모든 경우에서 반드시 정..