일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 리버싱
- 웹케이알
- 자바
- openCV
- 코딩테스트 연습
- 퍼셉트론
- webhacking.kr
- c언어 게임
- C언어
- 계단함수
- 코드엔진
- 소프트맥스 함수
- 웹해킹
- 게임 프로그래밍
- 크레인 인형뽑기
- Old-17
- 네트워크
- tcp
- 5585
- JS
- 10809
- old-1
- 자바스크립트
- 딥러닝
- c++
- 백준
- boj
- 신규 아이디 추천
- Old-14
- 프로그래머스
Archives
- Today
- Total
SteffenLee
[BOJ]3613-Java vs C++ 본문
안녕하세요
백준 3613번 Java vs C++을 풀이하겠습니다.
문제를 보겠습니다.
입출력 조건을 보겠습니다.
이 문제의 처리조건은
1. 첫 문자는 소문자이다.
2. C++에서 java로 바꿀때는 '_'문자를 지우고 뒷 문자를 대문자로 바꾼다.
3. java에서 C++로 바꿀때는 대문자 앞에 '_'를 넣고 대문자를 소문자로 바꿔준다.
4. '_'가 두개 오면 오류
5. 마지막이 '_'인 경우 오류
6. '_'와 대문자가 다 있으면 오류
7. 모두 소문자인경우는 오류가 아니다.
위의 조건만 처리해주면 된다.
소스를 보겠습니다.
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 | #include<iostream> #include<string> #include<stdbool.h> using namespace std; string str; bool cpp = false, java = false; int main() { cin >> str; int size = str.length(); if (!islower(str[0])) { cout << "Error!" << endl; return 0; } for (int i = 1; i < size; ++i) { if (str[i] == '_') { if (str[i-1] == '_' || i == size - 1) { cout << "Error" << endl; return 0; } cpp = true; } if (isupper(str[i])) java = true; } if (cpp && java) { cout << "Error!" << endl; return 0; } if (java) { for (int i = 0; i < size; ++i) { if (isupper(str[i])) cout << '_' << (char)(str[i] + 32); else cout << str[i]; } } else if (!cpp) cout << str; else { for (int i = 0; i < size; ++i) { if (str[i] == '_') cout << (char)(str[++i] - 32); else cout << str[i]; } } cout << endl; } | cs |
감사합니다.
'Problem Solving > BOJ' 카테고리의 다른 글
[BOJ]10950 - A + B - 3[C++] (0) | 2022.01.24 |
---|---|
[BOJ]9517-아이 러브 크로아티아 (0) | 2018.08.21 |
[BOJ]11720-숫자의 합 (0) | 2018.08.14 |
[BOJ]10820-문자열 분석 (1) | 2018.08.13 |
[BOJ]11655-ROT13 (0) | 2018.08.12 |
Comments