-
2167 이차원 배열의 합/10798 세로읽기Algorithm/baekjoon 2022. 2. 13. 23:03
1.2167 이차원 배열의 합
https://www.acmicpc.net/problem/2167
#include<iostream> #include<string.h> using namespace std; int main() { cin.tie(NULL); cin.sync_with_stdio(false); int n, m; cin >> n >> m; int** arr = new int* [n]; for (int i = 0; i < n; i++) { arr[i] = new int[m]; } for (int i = 0; i < n; i++) { for (int j = 0; j < m; j++) { cin >> arr[i][j]; } } int forn; cin >> forn; for (int a = 0; a < forn; a++) { int i, j, x, y; int sum=0; cin >> i >> j >> x >> y; for (int m = i-1; m <= x-1; m++) { for (int n = j-1; n <= y-1; n++) { sum+=arr[m][n]; } } cout << sum<<"\n"; } for (int i = 0; i < n; i++) delete[] arr[i]; delete[] arr; return 0; }
2.10798 세로읽기
https://www.acmicpc.net/problem/10798
10798번: 세로읽기
총 다섯줄의 입력이 주어진다. 각 줄에는 최소 1개, 최대 15개의 글자들이 빈칸 없이 연속으로 주어진다. 주어지는 글자는 영어 대문자 ‘A’부터 ‘Z’, 영어 소문자 ‘a’부터 ‘z’, 숫자 ‘0’
www.acmicpc.net
깨달은 점)
1.배열에 값을 넣을 때
#include<cstring>을 해서 string으로 입력받아서 size() 함수를 활용하는게 편하다는 것
2. 전역변수 char arr[5][15]; 는 모든 값이 '\0'으로 자동초기화 된다는 것
#include<iostream> #include<cstring> using namespace std; char arr[5][15]; int main() { cin.tie(NULL); cin.sync_with_stdio(false); string str1; for (int i = 0; i < 5; i++) { cin >> str1; for (int j = 0; j < str1.size(); j++) { arr[i][j] = str1[j]; } } for (int j = 0; j < 15; j++) { for (int i = 0; i < 5; i++) { if (arr[i][j] == '\0') continue; cout << arr[i][j]; } } }
'Algorithm > baekjoon' 카테고리의 다른 글
1181 단어 정렬/11650 좌표 정렬하기/11651 좌표 정렬하기2/2750 수 정렬하기/10989 수 정렬하기3/10814 나이순 정렬 (0) 2022.02.18 1032 명령 프롬프트/1085 직사각형에서 탈출/1259 팰린드롬수/15829 Hashing (0) 2022.02.14 2161 카드1 (0) 2022.02.12 1924 2007년 (0) 2022.02.12 2028 자기복제수 (0) 2022.02.12