백준 3568 iSharp
본문 바로가기
알고리즘 모음집/알고리즘 (Algorithm)

백준 3568 iSharp

by KyeongMin 2019. 10. 4.
728x90
반응형

https://www.acmicpc.net/problem/3568

 

3568번: iSharp

문제 선영이는 C, C++, Java와는 다른 아주 세련된 언어를 만들었다. 선영이는 이 아름답고 예술적인 언어의 이름을 i#으로 정했다. i#은 기본 변수형과 배열([]), 참조(&), 포인터(*)를 제공한다. 배열, 참조, 포인터는 순서에 상관없이 혼합해서 사용할 수 있다. 즉, int의 참조의 참조의 배열의 포인터도 올바른 타입이다. int&&[]* i#은 여러 개의 변수를 한 줄에 정의할 수 있다. 공통된 변수형을 제일 먼저 쓰고, 그 다음에 각

www.acmicpc.net

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
42
43
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<string.h>
#include<string>
#include<iostream>
using namespace std;
string codeWord;
char codeWord1[10000];
void init() {
    scanf("%[^\n]"&codeWord1);
    int len=strlen(codeWord1);
    int i = 0;
    for (i = 0;  codeWord1[i] !=' '; i++) {
        codeWord.push_back(codeWord1[i]);
    }
    while (1) {
        if (i ==len)break;
        string a;
        i += 1;
        for (; codeWord1[i] !=','&&codeWord1[i]!=';'; i++) {
            a.push_back(codeWord1[i]);
        }
        cout << codeWord;
        int j = a.size()-1;
        for (; j >= 0; j--) {
            if (a[j] == ']')cout << '[';
            else if (a[j] == '[')cout << ']';
            else if (('a' <= a[j] && a[j] <= 'z' )|| ('A' <= a[j] && a[j] <= 'Z')) break;
            else
            cout << a[j];
        }
        cout << ' ';
        for (int k = 0; k <= j; k++) {
            cout << a[k];
        }
        cout<<';' << endl;
        i += 1;
    }
}
int main(void) {
    init();
    return 0;
}
 
 

단순 구현문제로 포인트는 변수를 여러개써서 자료형이써진 부분과 변수명과 그뒤에[],&,* 이런것이 있으면 그부분 

두개로 나누면 문제가 한결 쉬워집니다.

그림으로 오늘은 설명해 드리면 이렇습니다.

이해가 되시나요 출력의 순서가 거꾸로 이므로 문제에서 요구한것처럼 거꾸로 하지만 변수명을 만나면 

변수명을 저장한 배열을 0번방부터 멈춘 인덱스까지 출력만 해주면 됩니다.

정말 이렇게 듣고 보니 어렵지 않은 문제 였죠? 저도 처음에 실수 했던게 변수명이 당연히 한개라 생각해버린것

변수명은 사실 arry 일수도 있고 a 일수도 있기 때문에 그점만 잘 체크해서 적용해주시면 됩니다.

 

오늘은 여기까지이고 내일도 좋은 알고로 보답해드리겠습니다.

728x90
반응형

'알고리즘 모음집 > 알고리즘 (Algorithm)' 카테고리의 다른 글

백준 1107 리모컨  (0) 2019.10.04
백준 3019 테트리스  (0) 2019.10.04
백준 14226 이모티콘  (0) 2019.10.03
백준 13549 숨바꼭질3  (0) 2019.10.03
백준 2065 나룻배  (0) 2019.10.02

댓글