ios_base::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
1. 입출력 속도를 올려주는 위의 경우는 알고리즘 시간초과가 된다면 그 후에 추가하여 시도할 것. 굳이 미리 사용 말자
2. string 의 길이를 구할때는 length(), 벡터의 길이를 구할때는 size()를 써야 한다
3. 문제에서 입력범위가 주어지곤한다. 입력범위는 출제자가 내는 범위이니 내 코드에는 범위 내용을 적을 필요없다. 내 코드는 입력범위가 달라지더라도 항상 올바른 로직이어야 하기 때문이다. 물론 자료형의 판단에는 반영을 해야할것이다
4. string 은 정적할당 배열이 아닌 동적할당 배열이다. 즉, string 은 벡터이다. 그러므로 할당전에는 크기를 알 수 없으며, 인덱스또한 정해져있지 않다. push_back을 통하거나 다른 문자열을 대입해서 할당하여야만 한다
↓ 아래는 런타임에러가 난 내 오답 코드이다. 알고리즘 테스트 첫날의 코드이니 많이 부족하다
#include <bits/stdc++.h>
using namespace std;
string s;
string ori;
int chk =1;
int main() {
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
//큰돌님:왜 이런게 있죠?
1<=s.size()<=100;
cin >> s;
//큰돌님:뭐죠?
for(int i=0; i<s.size(); i++) // 불필요한 코드
ori[i] = s[i]; // ori = s 로 해도 같은 의미이다 << 문자열은 동적 할당 배열이니 저렇게 받아서 할당해보았습니다
reverse(s.begin(), s.end());
// 큰돌님:불필요한 코드가 아니라... 괜찮은 코드에요. ori == s로 한번에 해도 되지만
// 큰돌님:for문도 된답니다.
for(int i = 0; i<s.size(); i++) // 불필요한 코드2
if(s[i]!=ori[i]) // if(ori == s) 로 판단해도 된다
chk = 0;
cout << chk << "\n";
return 0;
}
'개발 노트 > 백준, 프로그래머스 풀이' 카테고리의 다른 글
백준 9375/c++ )) 패션왕 신해빈 (0) | 2022.06.15 |
---|---|
백준 1620/c++ )) 나는야 포켓몬 마스터 이다솜 (0) | 2022.06.15 |
[c++] 로또의 최고 순위와 최저 순위 (0) | 2022.06.15 |
백준 2559 수열 문제 개선답 (0) | 2022.06.14 |
백준 2559 수열 문제 오답 분석 (0) | 2022.06.14 |
댓글