Coding (195) 썸네일형 리스트형 c++ 띄어쓰기를 포함한 문자열 입력 ex) string str; getline(cin,str); Overloading, Overriding Overloading : 이름이 같으나 매개변수를 다르게 갖도록 할 수 있는 방법(보통 함수의 이름이 같기 때문에 비슷한 결과가 나올때 사용). ex) max(1,2) -> max(1,2,3) 덧셈이라는 기능은 똑같지만 매개변수 개수가 다르다. Overriding : 상위 클래스에서 정의된 메소드를 하위 클래스가 상속 받았을 때 재정의해서 사용하는 방법. ex) 상위클래스에 print() 메소드가 정의되어 있고 하위클래스에서 재정의한다고 가정하자. public void print(){ System.out.println("이 티스토리는");} -> public void print(){ System.out.println("이 티스토리는"); System.out.println("유용합니까?");} using namespace std를 쓰면 안되는 이유? 평소에 쓰던 using namespace std; 가 어떤 의미를 가지고 있는지 알아보기 위해 찾아보던 도중 이런 제목의 글이 있었다. using namespace std를 쓰면 안되는 이유. 왜 안되지? 평소에 알고리즘 문제를 풀다보면 그냥 자연스레 적고 본다. 찾아본 결과 그 이유는 우리가 사용하는 cin, cout 등 여러 함수들이 std 안에 포함된 함수이기 때문이다. 하지만 사용할때마다 std::를 붙여 사용하기에는 귀찮기 때문에 우리는 using namespace std를 써서 std라는 이름을 안붙이고 함수들을 호출한다. 이제 쓰면 안되는 이유에 대해서 보자. 만약 두 개의 라이브러리를 사용한다고 하자. std1, std2 using namespace std1; using namespace .. 10988번 팰린드롬인지 확인하기 10942번 문제와 같다. Manacher 알고리즘을 이용해서 풀면 된다. (labote.tistory.com/43) 전체적으로 팰린드롬인지 아닌지만 찾으면 되기 때문에 입력받은 사이즈와 A배열 중 최대값이 같은지 확인하면 끝! 2688번 줄어들지 않아 dp(n,k) -> n은 자리수, k는 n자리수 마지막 숫자를 의미한다. 그렇다면 n자리수에서 n-1자리수를 생각해보자. n-1개 자리수에서 마지막 한자리만 결정해주면 n개 자리수를 구할 수 있다. n자리수가 0으로 끝나면 n-1자리수는 0으로 끝나야 한다. n자리수가 1로 끝나면 n-1자리수는 0과 1이 올 수 있다. 즉, dp(n,k)는 dp(n-1,k보다 작거나 같은 수)이며 이를 다 합하면 dp(n,k)의 개수가 된다. 추가. memset 대신 메모이제이션을 이용하면 시간을 줄일 수 있다. (if(dp[i][j]>0) continue; 하면 되지 않을까 싶다) 1786번 찾기 KMP 알고리즘을 이용해서 풀면 된다. 시간 초과 떠서 endl -> '\n'로 바꾸고 cin.tie, cout.tie, sync_with_stdio 함수를 넣었다. 10769번 행복한지 슬픈지 사실 아직 KMP에 대해 완벽히 이해하지를 못했다. 그냥 코드를 외운듯 싶다. 계속 보다보면 이해할 수 있겠지.. 사람들이 만든 KMP코드를 보면 거의 다 비슷하다(같은 알고리즘이니까). 입력받는 것만 주의해주고(공백, getline함수를 통해 공백까지 받는다) KMP 알고리즘을 사용하면 끝! c++ memset을 피해야하는 이유? "클래스 객체를 제로 아웃하기 위해 memset을 사용하지 마십시오" "memset을 사용하여 클래스 객체 자체를 0으로 만드는 것은 좋은 생각이 아닙니다. 이것은 생성자(초기화를 하는)를 가진 멤버를 포함한다면 특히 경황적입니다" "가상 함수가 있는 모든 클래스에서 memset을 사용하면 문제가 발생할 수 있습니다. 가상 함수 테이블 포인터를 넘어서 버릴 수 있습니다" "sizeof(클래스)가 가상 함수 테이블 포인터를 하나의 데이터 멤버로 취급하기 때문입니다" "컴파일러가 만든 인스턴스의 내부 데이터를 제로로 만들 수 있다고 생각합니다(YourClass instance; memset(&instance, 0, sizeof(YourClass);)" 이전 1 ··· 15 16 17 18 19 20 21 ··· 25 다음