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
1. 문제 상세 https://www.acmicpc.net/problem/11718 2. 문제 접근 문자열을 입력받아 저장하고, 그 문자열을 그대로 출력하면 된다. 다만 입력받을 때 공백을 같이 입력받아야 하기 때문에 getline 으로 입력받자.문자열을 입력받은대로 출력하고, 최대 100줄까지 입력을 받아야 하니 반복문을 사용하자. 3. 문제 풀이 #include using namespace std; int main() { string s; while(1) { getline(cin, s); if(s == "") break; cout
1. 문제 상세 https://www.acmicpc.net/problem/5622 2. 문제 접근 문제에서 결국 숫자를 시간으로 보면 3, 4, 5 ... 10 까지의 숫자를 사용한다. ABC는 3, DEF는 4, ... WXYZ는 10과 같이 매칭해야 한다. 이를 위해 아래와 같이 정수 배열을 생성해 각 알파벳에 맞도록 시간을 총 26개 저장한다. int sec[26] = { 3, 3, 3, 4, 4, 4, 5, 5, 5, 6, 6, 6, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 10, 10, 10, 10 }; 그리고 문자열을 입력받고 각 알파벳을 아스키코드 값을 활용하여 정수 배열의 인덱스와 매치시키자. A 를 입력받을 경우, A 아스키 코드값 65 에서 65를 빼 0으로 계산하여 정수 ..
1. 문제 상세 https://www.acmicpc.net/problem/2908 2. 문제 접근 정수 두 개를 문자열로 입력받아 문자열을 뒤집고, 문자열을 정수로 바꾼 후 값을 비교한다. 문자열을 뒤집기 위해 algorithm 라이브러리에 포함된 reverse() 함수를 사용하자 reverse 함수사용법은 reverse(시작 반복자, 종료 반복자) 이다. (반복자 = 인덱스) 문자열을 모두 뒤집을 때 시작 인덱스와 종료 인덱스를 구하기 위해 문자열의 멤버함수 begin() 과 end() 를 사용한다. begin() 함수는 문자열의 첫 번째 인덱스를 반환. end() 함수는 문자열의 마지막 인덱스를 반환한다. 위와 같은 함수들로 문자열을 뒤집은 후 문자열을 정수로 바꾼다. 이를 위해 stoi() 함수를 ..