1. 문제 상세 https://www.acmicpc.net/problem/2941 2. 문제 접근 문자열을 입력받고 해당 문자열이 몇 개의 크로아티아 알파벳으로 이루어져 있는지 출력한다. 문자열의 크기만큼 반복하며 문자열의 앞에서부터 문자를 확인, 알파벳마다 카운트를 늘리자. 크로아티아 알파벳을 확인해야 하기 때문에 각 알파벳에 따라 조건을 두자. 문자 확인 중에 c 가 나온 경우, 바로 뒤의 문자가 = 혹은 - 인지 확인하고, 맞다면 카운트를 늘린 후 뒤의 문자를 건너뛰고 그 다음 문자를 확인한다. d 도 비슷하게 뒤의 문자가 - 이거나, z 이면서 그 다음 문자가 = 인 경우를 확인하여 건너뛰도록 하자. l 과 n 은 뒤의 문자가 j 인 경우, s 와 z 는 = 인 경우 건너뛰자. 반복이 끝나면 카운..
1. 문제 상세 https://www.acmicpc.net/problem/1157 2. 문제 접근 문자열을 받아서 해당 문자열 내에 알파벳이 각각 몇 개 인지 확인하고(알파벳의 대문자와 소문자 구분 없이 개수 체크, Aaabb 와 같은 경우 A 가 3개로 제일 많다.) 가장 많은 알파벳을 대문자로 출력, 가장 많은 개수의 알파벳이 여러개라면 ? 를 출력하자. 이를 위해 크기가 26인 정수 배열을 하나 만들고, 인덱스를 알파벳과 매치해보자. (0 = a/A, 1 = b/B, 2 = c/C, ... 25 = z/Z) 반복문을 사용하여 문자열의 크기만큼 반복하도록 한다. 이제 반복에서 문자열 맨 앞부터 문자를 가져와 아스키 코드를 인덱스와 매치하여 활용하자. 아스키 코드에서 알파벳 대문자는 A 부터 순서대로 ..
1. 문제 상세 https://www.acmicpc.net/problem/10988 2. 문제 접근 단어가 팰린드롬인지 확인하자. 단어의 양쪽 끝에서부터 가운데로 가면서 양쪽의 문자를 비교하여 같은지 확인하자. 문자열에서 인덱스를 참조하여, 맨 앞의 인덱스를 i, 마지막 문자의 인덱스를 j 라고 할 때, i, j 를 비교하고 그 다음 i + 1, j - 1 을 비교하는 식으로 i 에는 1을 더해가고, j 에는 1을 빼가며 가운데 문자의 인덱스까지 시행하자. 가운데 문자에 도달했는지 확인하기 위해 i 가 j 보다 작거나 같을 때만 문자를 비교하도록 하자. 3. 문제 풀이 #include using namespace std; int main() { int i, j; string s; cin >> s; for..
1. 문제 상세 https://www.acmicpc.net/problem/2444 2. 문제 접근 이전에 풀었던 별 찍기 문제들처럼 줄 수를 입력받고 이중 반복문을 사용하여 별을 찍는것은 동일하다. 하지만 이번에는 입력 받은 줄 수만큼 바로 출력하는 것이 아니고 입력이 n 이라고 할 때 2 x n - 1 번 줄을 출력한다. 주어진 규칙에 따라 출력하려면 먼저, 공백은 줄마다 n - 1, n - 2, ... 0 순으로, 별은 1부터 2씩 늘려가며 2 x n - 1 까지(1, 3, 5, ... 2 x n - 1)를 n 번 출력한다. 별 출력 구조가 가운데 가장 긴 줄을 기준으로 위 아래 대칭 형태이다. 지금 위의 작업으로 위쪽 부터 가운데 줄까지 출력했기 때문에 가운데 줄을 제외한 아래 부분을 출력해야 한다..
1. 문제 상세 https://www.acmicpc.net/problem/3003 2. 문제 접근 필요한 체스 말의 개수는 순서대로 각각 1, 1, 2, 2, 2, 8 개이다. 현재 보유한 체스 말 개수를 입력받고 몇개를 빼고 더해야 하는지 출력하자. 먼저 현재 보유할 말들의 개수를 입력받자. 필요한 개수에서 현재 보유한 말 개수를 빼면 추가로 보충하거나 빼야하는 말 개수가 나온다. 이를 출력하자. 3. 문제 풀이 #include using namespace std; int main() { int king, queen, rook, bishop, knight, pawn; cin >> king >> queen >> rook >> bishop >> knight >> pawn; cout
1. 문제 상세 https://www.acmicpc.net/problem/25083 2. 문제 접근 cout 으로 주어진 내용을 출력하자. 특수문자는 그냥 출력하려고 할 시 출력이 되지 않는다. \(역슬래시) 의 경우에는 \\ 로 출력 '(작은 따옴표) 는 \' 로 출력 "(큰 따옴표)는 \" 로 ?(물음표) 는 \? 로 출력한다. 3. 문제 풀이 #include using namespace std; int main() { cout