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차원 배열
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..
1. 문제 상세 https://www.acmicpc.net/problem/10813 2. 문제 접근 크기가 100인 배열을 선언하고 해당 배열을 N 만큼만 사용하며 M번의 작업을 한다. 작업 전에 배열의 0 ~ N-1번 인덱스까지의 값을 모두 1 ~ N 까지의 값으로 초기화한다. 각 작업은 배열의 i - 1 번 인덱스의 값과 j - 1 번 인덱스의 값을 바꾼다. M번의 작업 후 N크기의 배열을 출력한다. 3. 문제 풀이 #include using namespace std; int main() { int a[100], n, m, i, j, temp; cin >> n >> m; for(int x = 0; x < n; x++) a[x] = x + 1; for(int x = 0; x < m; x++) { cin..
1. 문제 상세 https://www.acmicpc.net/problem/10810 2. 문제 접근 크기가 100인 배열을 선언하고 해당 배열을 N 만큼만 사용하며 M번의 작업을 한다. 작업 전에 배열의 0번 부터 N-1번 인덱스까지의 값을 모두 0으로 초기화한다. 각 작업은 배열의 i - 1 번 인덱스 부터 j - 1 번 인덱스까지의 값에 k 값을 저장하는것. 만약 해당 인덱스 범위에 이미 값이 저장되어 있으면 덮어씌운다. M번의 작업 후 N크기의 배열을 출력한다. 3. 문제 풀이 #include using namespace std; int main() { int a[100], n, m, i, j, k; cin >> n >> m; for(int x = 0; x < n; x++) a[x] = 0; for..