전체 글

게임 만들고 싶어요
1. 문제 상세 https://www.acmicpc.net/problem/2743 2. 문제 접근 문자열을 입력받아 해당 문자열의 길이를 출력하자. 문자열을 입력받기 위해서 string 객체를 생성하여 문자열을 입력받고, .size() 함수나 .length() 함수를 통해 길이를 반환받아 출력하자. 3. 문제 풀이 #include using namespace std; int main() { string s; cin >> s; cout
1. 문제 상세 https://www.acmicpc.net/problem/27866 2. 문제 접근 문자열과 정수를 입력받아 문자열에서 입력받은 정수 값의 자리에 있는 문자를 출력하자. ■ String 클래스 C++ 에서는 C 의 char[], char* 과 다르게 문자열을 조금 더 편하게 사용이 가능하다. 바로 string 클래스를 사용하기 때문이다. string 클래스는 문자열의 끝에 \0, null 문자가 포함되지 않는다. 그리고 배열 처럼 접근이 가능하기도 하고, 문자열을 합칠 때 + 로 바로 문자열을 합칠수도 있다. 이외에도 여러 멤버함수가 있어서 편리하게 활용이 가능하다. 문제로 돌아와서, string 객체를 생성하여 문자열을 입력받고 문자열의 한 문자에 접근하는 방법은 크게 두가지다. 먼저 ..
1. 문제 상세 https://www.acmicpc.net/problem/3052 2. 문제 접근 입력받은 10개의 정수를 42로 나누었을 때, 다른 나머지가 몇 개인지 출력하자. 정수를 42로 나누었을 때 나올 수 있는 나머지는 0~41 까지 총 42개 이다. 따라서 크기 42의 bool 형식의 배열을 선언하고, 인덱스 0~41 까지를 나머지 값이라고 보자. 나머지 값을 확인하여 해당 인덱스를 true 로 바꾸고, 배열에서 true 의 개수를 확인하면 다른 나머지가 몇 개인지 알 수 있다. 3. 문제 풀이 #include using namespace std; int main() { int n, count = 0; bool a[42] = {false}; for(int i = 0; i < 10; i++) ..
1. 문제 상세 https://www.acmicpc.net/problem/1546 2. 문제 접근 입력받은 점수들을 다시 계산한 후 그 점수들의 평균을 구하는 문제이다. 반복문으로 점수들을 입력받고 점수들을 계산, 점수들을 더한 다음 과목 수만큼 나누면 된다. 그리고 추가 조건으로 오차가 10-2 이하여야 한다. 따라서 점수와 평균을 저장 할 변수는 실수형 float 이나 double 등으로 선언하자. 3. 문제 풀이 #include using namespace std; int main() { double score[1000], ave = 0, max = 0; int n; cin >> n; for(int i = 0; i > score[i]; for(int i = 0; i < n..
1. 문제 상세 https://www.acmicpc.net/problem/10811 2. 문제 접근 10813번 : 공 바꾸기 문제와 비슷하다. 크기가 100인 배열을 선언하고 해당 배열을 N 만큼만 사용하며 M번의 작업을 한다. 작업 전에 배열의 0 ~ N-1번 인덱스까지의 값을 모두 1 ~ N 까지의 값으로 초기화한다. 각 작업은 배열의 i - 1 번 인덱스의 값부터 j - 1 번 인덱스의 값을 역순으로 바꾼다. 이를 위해 for문을 사용하여 i 가 j 보다 작을 때, i 에 1을 더하고, j 에 1을 빼며 반복하도록 한다. 반복에서는 배열의 i - 1 번 인덱스의 값과 j - 1 번 인덱스의 값을 바꾼다. M번의 작업 후 N크기의 배열을 출력한다. 3. 문제 풀이 #include using name..
1. 문제 상세 https://www.acmicpc.net/problem/5597 2. 문제 접근 30명의 학생 중 과제를 내지 않은 학생을 찾자. 1~30까지의 수 중 28개만을 입력받고, 이 중 입력받지 않은 값을 찾아서 작은 순서대로 출력해야 한다. 크기가 30인 Bool(부울 형식, 참(1)과 거짓(0) 중 하나의 값을 가진다) 형식 배열을 선언한다. 반복문으로 출석번호를 28번 입력받으며 배열에서 입력받은 출석번호-1 인덱스의 값을 true로 바꿔 해당 출석번호의 학생이 과제를 제출했다는 것을 확인해둔다. 위 반복문이 끝나면 배열의 값들을 처음부터 끝까지 확인하며 값이 false인 경우 해당 인덱스에 1을 더해 출력한다. 3. 문제 풀이 #include using namespace std; in..
Dry_p
건조한 프로그래밍