Notice
Recent Posts
Recent Comments
Link
celina의 이것저것
[C++] 백준 11365번 - !밀비 급일 본문
반응형
문제
당신은 길을 가다가 이상한 쪽지를 발견했다. 그 쪽지에는 암호가 적혀 있었는데, 똑똑한 당신은 암호가 뒤집으면 해독된다는 것을 발견했다.
이 암호를 해독하는 프로그램을 작성하시오.
입력
한 줄에 하나의 암호가 주어진다. 암호의 길이는 500을 넘지 않는다.
마지막 줄에는 "END"가 주어진다. (END는 해독하지 않는다.)
출력
각 암호가 해독된 것을 한 줄에 하나씩 출력한다.
접근
처음에 문제를 보자마자 스택을 이용해야겠다고 생각했다
스택에 문자들을 넣고 꺼내면 된다고 생각했다
코드
#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
#include <algorithm>
#include <string>
using namespace std;
int main() {
string str;
while(1) {
getline(cin, str);
if (str == "END")
break;
reverse(str.begin(), str.end());
cout << str<< endl;
}
return 0;
}
리뷰
결론은 스택을 쓰지 않았다 하핫..
새롭게 알게된 reverse라는 함수를 이용했다!
1. while무한반복문을 쓰고, end를 입력시 반복문 종료라는 조건을 if문에 써야겠다고 생각했음
2. 처음 생각했던 문자를 하나씩 입력받는거 말고 문자열을 통째로 입력받아야겠다 생각함
ㄴ 그래서 getline함수를 썼다 이 함수는 string형을 받을 때 쓰고 공백이 포함된 문자열을 입력받을 수 있기 때문이다
3. 리버스함수를 이용해서 바꿔준다
reverse(first,last)
이렇게 함수를 사용한다고 한다.
4. 출력
학습
스택으로도 물론 할수있겠지만 더 간단한 reverse함수를 알았다.
메모 완. 뇌에 기억 완.
그리고 난 참 문자열에 약한것 같다..
출처
11365번: !밀비 급일
당신은 길을 가다가 이상한 쪽지를 발견했다. 그 쪽지에는 암호가 적혀 있었는데, 똑똑한 당신은 암호가 뒤집으면 해독된다는 것을 발견했다. 이 암호를 해독하는 프로그램을 작성하시오.
www.acmicpc.net
'자료구조&알고리즘 > 백준' 카테고리의 다른 글
[C++] 백준 2869번 - 달팽이는 올라가고 싶다 (2) | 2023.02.10 |
---|---|
[C++] 백준 1212번 - 8진수 2진수 (3) | 2023.02.10 |
[C++] 백준 13458번 - 시험 감독 (1) | 2023.01.23 |
[C++] 백준 10824번 - 네 수 (1) | 2023.01.23 |
[C++] 백준 2965번 - 캥거루 세마리 (0) | 2023.01.23 |