728x90
https://www.acmicpc.net/problem/11365
굉장히 쉬운문제이다.
파이썬으로 풀면 다음처럼 풀수있다.
while 1:
s=input()
if s=="END":
break
print(s[::-1])
이렇게 넘어가기엔 너무 양심이 없는거같아서 오랜만에 C/C++로 접근했다.
처음엔 C++로 풀었는데 cin은 개행문자뿐만아니라 whitespace(' ', '\t', '\n')가 나오면 입력을 멈추기때문에 원하는 값을 얻을수 없었다.
그래서 scanf를사용해서 구현했다.
scanf("%[^\n]s", s)로 사용하면 \n가 나오기전까지 모든 값을 받아올수 있었는데 문자열에 계속 이전 값이 남아서 버퍼를 지우기 위해 앞에 공백을 추가했다. scanf(" %[^\n]s", s)
#define _CRT_SECURE_NO_WARNINGS
#include<cstdio>
int main() {
//ios::sync_with_stdio(false);
//cin.tie(NULL); cout.tie(NULL);
char s[501], tmpc;
int tmp = 0, null_ind, i;
while (1) {
scanf(" %[^\n]s", s);
if (s[0] == 'E' && s[1] == 'N' && s[2] == 'D' && s[3] == '\0') break;
// find s.end()
null_ind = 0;
for (i = 0; i < 501; i++)
{
if (s[i] == '\0'){
null_ind = i;
break;
}
}
//reverse(s.begin(), s.end());
for (i = 0; i < null_ind / 2; i++)
{
tmpc = s[i];
s[i] = s[null_ind - 1 - i];
s[null_ind - 1 - i] = tmpc;
}
// cout << s << '\n';
printf("%s\n", s);
}
return 0;
}
https://yahohococo.tistory.com/9
'STUDY > Algorithm' 카테고리의 다른 글
[백준] 14697 방배정하기 python (0) | 2022.02.06 |
---|---|
[백준] 22942 데이터 체커 python (0) | 2022.02.05 |
[백준] 1863 스카이라인 쉬운거 python (0) | 2022.02.03 |
[백준] 18113 그르다 김가놈 python(pypy) (0) | 2022.02.02 |
[백준] 20040 사이클 게임 python C++ (0) | 2022.02.01 |