::public265 문자열 밀기 #include #include #include using namespace std; int solution(string A, string B) { int answer = 0; if(A == B) return 0; int i = 0; while(i < A.size()) { // 1만큼 시계 반대방향으로 이동 rotate(A.begin(), A.begin() + A.size() - 1, A.end()); i++; if(A == B) return i; } return -1; } // 발상의 전환이 필요한 코드..awesome.. int solution(string A, string B) { B += B; return B.find(A); } 2023. 8. 8. OX퀴즈 - 문자열 파싱 #include 과 istringstream 에 대해 더 찾아보고 공부하자. >> 연산자를 사용해 정해진 타입에 대한 파싱이 가능! #include #include #include #include using namespace std; vector solution(vector quiz) { vector answer; // quiz = ["3 - 4 = -3", "5 + 6 = 11"] / result = ["X", "O"] for(auto& q : quiz) { istringstream iss(q); char separator = ' '; vector vs; string strBuff; while (getline(iss, strBuff, separator)) { // separator을 구분자로 strBu.. 2023. 8. 8. explicit 자신이 원하지 않은 형변환이 일어나지 않도록 제한하는 키워드 class A { public: int num = 1; public: // 1. non explicit A(int n) : num(n) {}; // 2. explicit explicit A(int n) : num(n) {}; void printA(A a) { cout 2023. 7. 6. const 위치에 따른 의미 메서드 뒤에 const 위치 ; 해당 메서드가 속해있는 클래스의 멤버 변수를 바꾸지 않겠다는 의미 class A { public: int num = 1; public: int getNum() const { int a = 1; a++;// 지역 변수의 변경은 가능 num++;// 클래스의 멤버 변수의 변경은 불가능 return num; } }; 함수의 매개 변수에 const 위치 ; 해당 매개 변수를 함수 내에서 바꾸지 않겠다는 의미 int add(const int a, const int b) { return a + b;// 단순 a와 b를 합한 결과를 반환하기 때문에 굳이 const 의미 없음 } int a = 1; void increase(int b) { b++; cout 2023. 7. 5. *개념을 항상 생각하고 정리하자! 보호되어 있는 글 입니다. 2023. 6. 22. (c++11) lambda lambda, 람다 표현식 / 람다 함수. *이름이 없어서 익명 함수라고도 불린다. 코드를 깔끔하게 만들 수 있다. [캡처 블록] (매개변수) -> 리턴 타입 { 본문 } 캡처 블록(생략 가능) : 스코프에 있는 변수를 캡처하는 방식을 지정, 본문에서 그 변수에 접근할 수 있게 만든다. [&] _ 외부의 모든 변수들을 레퍼런스 형태로 캡처 [&var] _ 외부에 정의되어 있는 변수를 레퍼런스 형태로 캡처 [=] _ 외부의 모든 변수를 복사한 값으로 캡처 [=var] _ 외부의 정의되어 있는 변수를 복사한 값으로 캡처 [this] _ 현제 객체를 캡처 [*this] _ 현제 객체의 복사본을 캡처 매개변수(생략 가능) : 람다 표현식에 대한 매개변수 록록. 리턴 타입(생략 가능) : 람다 표현식의 리턴 타입.. 2023. 2. 8. 이전 1 2 3 4 5 ··· 45 다음