소개
게시글
질문&답변
문제를 풀 때 변수들을 전역변수로 선언하는 이유가 있나요??
저도 예전에 객체지향 공부하면서 비슷한 생각했었는데요, 아무래도 객체지향 장점이 코딩테스트에 발휘 될 일이 없다보니 객체지향과는 거리가 먼 전역변수를 사용하는 것 같습니다.Q. 객체지향이 코딩테스트에 안좋은 이유-> 객체지향 장점은 유지보수성, 확장성 좋은 코드를 만드는 대신 초기에 들이는 구현 시간이 많아지고, 절차 지향에 비해 속도가 느리다는 단점이 있습니다. 근데 코딩테스트에선 구현 시간과 속도가 중요하기 때문에 객체지향의 단점만 두드러집니다. 따라서 코테에서는 객체지향에 연연하지 않으셔도 되겠습니다.Q. 전역변수 사용하는 이유->전역변수는 프로그램 실행 시 메모리가 할당되기 때문에, 스택 영역에서 동적으로 메모리가 할당되는 지역변수보단 성능상 유리합니다. 물론 현업에서 전역변수 남발하면 확장성 없는 코드라고 욕먹기 십상이지만요. 코딩테스트에서는 유지보수성과 확장성이 전혀 필요 없어 오히려 성능에 유리한 전역변수를 사용합니다.결론만 말하자면, 코테에는 객체지향의 단점만 부각되고, 전역변수는 지역변수보다 성능 상 유리하기 때문에 사용된다고 보시면됩니다!
- 0
- 3
- 47
질문&답변
매개변수로 넘어온 배열의 총 길이를 알 수 있는 방법이 없나요?
배열을 함수의 인자로 전달할 때, 배열은 포인터로 간주되므로 sizeof(arr)은 포인터의 크기를 반환하죠.참고로 std::array나 std::vector를 사용해서 size()함수를 사용하시는 방법은 어떨가요
- 0
- 2
- 431
질문&답변
맞왜틀
시간지나서 빌드하고 다시해보니 제대로 채점되네요! 뭔가 이상한 프로그램 오류가 있었나봅니다!
- 0
- 1
- 208