오보에블로그

단어순서 뒤집기 본문

C++ & C#/C++

단어순서 뒤집기

(OBO) 2017. 10. 29. 13:01
728x90

백준 12605번 단어순서 뒤집기

/*

문제

스페이스로 띄어쓰기 된 단어들의 리스트가 주어질때, 단어들을 반대 순서로 뒤집어라. 각 라인은 w개의 영단어로 이루어져 있으며, 총 L개의 알파벳을 가진다. 각 행은 알파벳과 스페이스로만 이루어져 있다. 단어 사이에는 하나의 스페이스만 들어간다.


입력

첫 행은 N이며, 전체 케이스의 개수이다.


N개의 케이스들이 이어지는데, 각 케이스는 스페이스로 띄어진 단어들이다. 스페이스는 라인의 처음과 끝에는 나타나지 않는다. N과 L은 다음 범위를 가진다.


N = 5

1 ≤ L ≤ 25

출력

각 케이스에 대해서, 케이스 번호가 x일때  "Case #x: " 를 출력한 후 그 후에 이어서 단어들을 반대 순서로 출력한다.

*/


/*

해결방법

예시를 들어서 설명하면,

Let input: i like you Yoong

<arr>

0 1 2 3

0 i       l       y      Y

1 i       o      o

2 k u o

3 e           n

4 g


arr[3]-arr[0] 순서로 출력

*/

++문자열 초기화는 char arr[n][m] = {0, }; ---->> n*m 배열 0으로 초기화

소스코드

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
35
36
37
38
39
40
41
#include <stdio.h>
#include <string.h>
 
int main(void){
    
    int c;
    int row =0, column =0;
    int casenumber;
    int print_casenumber=1;
    scanf("%d",&casenumber);
    getchar();
    while(casenumber--){
        column = 0;/* reset column,row and arr */
        row = 0;
        char arr[26][26= {0,};
        while((c=getchar()) != '\n' && (c != EOF)){
            if(c == ' '){
                column++;/*c가 빈칸이면,그 후에 다음 단어 를 받기 위해 column++, row =0 */
                row =0;
            }
            else{
                arr[column][row] =c;
                row++;
            }
        }
 
        for(int i = column;i>=0; i--){
            for(int j = 0; j<strlen(arr[i]);j++){
                if(i == column && j == 0){
                    printf("%s%d%s","Case #",print_casenumber++,": ");
                }
                printf("%c",arr[i][j]);
            }
            if(i != 0)
                printf(" ");
        }
        printf("\n");
    }
    return 0;
 
}
cs


실행결과

-입력값

 3

this is a test

foolbar

all your baseCase


-출력값

Case #1: test a is this

Case #2: foolbar

Case #3: base your all


The source of this problem is Baekjoon Online Judge(http://www.acmicpc.net/)

728x90

'C++ & C# > C++' 카테고리의 다른 글

1085 직사각형에서 탈출  (0) 2017.11.20
Bitwise Operators and Enumeration Types  (0) 2017.11.19
Makefile을 이용하여 한꺼번에 컴파일하기  (0) 2017.10.26
팰린드롬?  (0) 2017.10.24
문자열반복  (0) 2017.10.23