반응형

문제 출처 :


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



알고리즘 분석 :


문제 해결에 필요한 사항

1. 구현


몇가지 정해진 규칙을 그대로 구현하면 문제를 해결 할 수 있다.


1. 첫 글자가 대문자이거나 _라면 에러


2. i번째 문자가 _일때 그다음 문자가 소문자면 java특성,

소문자가 아닌 다른것이 오면 error


3. i번째 문자가 대문자일때 cpp 특성


4. 아무 경우도 아닌 경우 계속 문자 추가


--결과 출력 과정--

5. 에러일경우 error


6. java와 cpp 특성 모두 가질 경우 error 






소스 코드 : 


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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
#include <iostream>
#include <cstdio>
#include <string>
 
using namespace std;
 
int main()
{
    string str;
 
    cin >> str;
 
    int len = str.size();
 
    bool error = false;
    bool java = false;
    bool cpp = false;
    string tmp = "";
    if (('A' <= str[0&& str[0<= 'Z'|| str[0== '_')
        error = true;
    for (int i = 0; i < len; i++)
    {
        if (str[i] == '_')
        {
            if (i + < len && ('a' <= str[i + 1&& str[i + 1<= 'z'))
            {
                i++;
                tmp += (str[i] - 'a' + 'A');
                java = true;
            }
            else
                error = true;
        }
 
        else if ('A' <= str[i] && str[i] <= 'Z')
        {
            tmp += '_';
            tmp += (str[i] - 'A' + 'a');
            cpp = true;
        }
 
        else
            tmp += str[i];
    }
 
    if (error)
        cout << "Error!" << endl;
    else if (java && cpp)
        cout << "Error!" << endl;
    else
        cout << tmp << endl;
 
    return 0;
}
 
//                                                       This source code Copyright belongs to Crocus
//                                                        If you want to see more? click here >>
Crocus


반응형

'Applied > 알고리즘 문제풀이' 카테고리의 다른 글

[1062번] 가르침  (3) 2017.11.28
[2533번] 사회망 서비스(SNS)  (2) 2017.11.24
[11046번] 팰린드롬?  (0) 2017.11.24
[10942번] 팰린드롬?  (2) 2017.11.23
[1254번] 팰린드롬 만들기  (0) 2017.11.22