반응형
SW Expert Academy 5356번 의석이의 세로로 말해요 문제풀이. 간단하게 말해 배열을 세로로 출력하는 문제다. 레벨3 처음 푼 문제인데 레벨2와 차이를 못 느끼겠다. 다른 문제는 어떠려나.
문제
|
풀이
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | #include <stdio.h> #include <malloc.h> int main() { int tc; scanf("%d", &tc); for (int t = 0; t < tc; t++) { char** array; array = (char**)malloc(sizeof(char*) * 5); for (int i = 0; i < 5; i++) { array[i] = (char*)malloc(sizeof(char)*15); for (int j = 0; j < 15; j++) { array[i][j] = '\0'; } } for (int i = 0; i < 5; i++) { scanf("%s", array[i]); } printf("#%d ", t + 1); for (int j = 0; j < 15; j++) { for (int i = 0; i< 5; i++) { if (array[i][j] != NULL) { printf("%c", array[i][j]); } } } printf("\n"); } return 0; } | cs |
동적할당을 이용해 2차원 배열을 생성해준다. 그리고 배열의 모든 값을 null값으로 초기화한다. 행은 5개, 그리고 열은 최대 15줄로 제약 조건에 주어져있다.
각 행에 문자열을 입력받는다.
2중 for문을 활용해 array[i][j]를 출력해준다. 세로로 출력하는 것이므로 각 열, 즉 j에 대해 i값을 올려주면서 출력한다.
j=0일 때 i를 0~4까지, 그리고 j를 1로 올리고 i를 0부터 사까지 올리는 식.
다만 조건은 array[i][j]가 null값이 아닐 때다.
반응형
'DEVELOP > Algorithm' 카테고리의 다른 글
[C] SW Expert Academy 문제풀이 :: 1954번 (0) | 2018.09.20 |
---|---|
[C] SW Expert Academy 문제풀이 :: 1961번 (0) | 2018.09.19 |
[C] SW Expert Academy 문제풀이 :: 1966 번 (0) | 2018.09.17 |
[C] SW Expert Academy 문제풀이 :: 5431번 (0) | 2018.09.14 |
[C] SW Expert Academy 문제풀이 :: 1989번 (0) | 2018.09.12 |
[C] SW Expert Academy 문제풀이 :: 1970번 (0) | 2018.09.11 |
[C] SW Expert Academy 문제풀이 :: 2001번 (0) | 2018.09.08 |
[C] SW Expert Academy 문제풀이 :: 2005번 (0) | 2018.09.07 |