전체 글

게임 만들고 싶어요
1. 문제 상세 https://www.acmicpc.net/problem/2563 2. 문제 접근 크기가 100*100인 정수 배열을 선언하여 색종이가 덮이지 않은 부분을 0, 덮인 부분을 1로 판단하자. 색종이의 개수를 입력받아 그만큼 반복문을 실행한다. 반복문에서 도화지에 색종이를 놓을 좌표를 입력받는다.값에 3, 7을 입력 받은 경우, 배열의 7번 행 3번 열부터 부터 이를 기준으로 16번행, 7번행 까지 사각형으로 배열의 원소들을 1로 바꾼다.위와 같이 좌표에 따라 배열의 원소 값을 바꿔준 후, 배열을 순회하며 배열의 값이 1인 경우, 넓이를 저장할 변수에 1을 더해주자. 3. 문제 풀이 #include using namespace std; int main() { int a[100][100] = ..
1. 문제 상세 https://www.acmicpc.net/problem/10798 2. 문제 접근 최대 15*5 크기의 행렬을 입력받고, 이 행렬의 원소들을 열의 1행, 2행, .. 5행, 2열의 1행, 2행, ..5행 과 같이 출력하자. 기존에 행렬을 출력할때는 행-열 순으로 출력했는데 이번에는 열-행 순으로 출력하자. 그리고, 15*5 크기의 행렬에서 입력받지 않은 부분은 출력하지 않도록 한다. char형 배열 선언 시 배열에 기본으로 '\0' 값이 저장된다. 따라서 출력에서 문자가 '\0' 인지 확인하고 출력한다. (여기서 주의할 점★, char 배열을 지역변수로 선언 시 자동 초기화가 되지 않아 기본 값으로 이상한 값들이 들어간다. 따라서 선언할 때 전역변수로 선언하거나 배열을 배열[n][m] ..
1. 문제 상세 https://www.acmicpc.net/problem/2566 2. 문제 접근 행렬을 돌며 값을 비교해 최대값 변수에 저장하고, 저장할 때 해당 배열의 인덱스를 저장하자. 모든 정수를 비교했다면 최대값과 저장해둔 인덱스 번호에 1을 더한 값을 출력한다. 3. 문제 풀이 #include using namespace std; int main() { int a[9][9], max = 0, row, col; for(int i = 0; i > a[i][j]; for(int i = 0; i = max) { max = a[i][j..
1. 문제 상세 https://www.acmicpc.net/problem/2738 2. 문제 접근 N*M 크기의 행렬을 입력받아 행렬의 원소의 값을 더해 출력하자. N 과 M 은 100 이하이므로 2차원 배열의 크기는 100*100 으로 선언한다. N 과 M 을 첫째 줄에 입력받는다. 한 줄에 정수 M 개를 N 줄 입력받도록 반복하고, 이를 두 번 반복한다. 이제 두 행렬에서 각 원소들의 값을 더하고 행렬을 출력하자. 3. 문제 풀이 #include using namespace std; int main() { int a[100][100], b[100][100], n, m; cin >> n >> m; for(int i = 0; i ..
1. 문제 상세 https://www.acmicpc.net/problem/25206 2. 문제 접근 20개 과목의 학점을 확인해 전공 평점을 계산하자. 전공 평점 계산을 위해 학점 X 과목 평점의 값들을 모두 더한 값을 저장할 변수와, 학점을 모두 더한 값을 저장 할 변수를 선언. 각각 t_grade1, t_ grade2 라 하자. 이 때, 변수를 정수형이 아닌 실수형으로 선언하고, 오차가 10-4 이하로 나오도록 float 이나 double 로 선언. 20개 과목의 학점을 입력받기 위해 반복문으로 20번 반복하도록 하자. 반복하며 학점을 입력받고 해당 과목이 P/F 과목이 아닌 경우 학점 X 과목 평점의 값을 현재 grade1 변수의 값에 더한다. 그리고 학점을 grade2 변수에 더한다. 위 과정에서..
1. 문제 상세 https://www.acmicpc.net/problem/1316 2. 문제 접근 먼저 정수를 입력받아 변수에 저장하고, 반복문으로 그 변수에 저장된 횟수만큼 반복하도록 한다. 반복에서는 문자열을 입력받는다. 입력받은 문자열에서 반복되는 문자를 확인하기 위해 문자열 길이만큼 반복하며 맨 앞 문자부터 현재 문자의 바로 뒤 문자를 확인하여 다르다면 해당 문자를 체크해둔다. 예를 들어 aaabcc 인 경우, 인덱스 [0] : a, 인덱스 1이 a 이므로 통과한다. 인덱스 [1] : a, 인덱스 2가 a 이므로 통과. 인덱스 [2] : a, 인덱스 3이 b 이므로 a 를 체크하고 넘어간다. 인덱스 [3] : b, 인덱스 4가 c 이므로 b 를 체크하고 넘어간다. 인덱스 [4] : c, 인덱스 6..
Dry_p
건조한 프로그래밍