[삼성전자] SW 역량테스트 준비
2022. 10. 9. 23:39ㆍTIL💡/Trial And Error
https://garden1500.tistory.com/8
https://www.youtube.com/watch?v=dW7b2lhplac v
필요한 설정
https://kau-algorithm.tistory.com/23
- 메모리 제한은 넉넉하지만 스택 메모리는 1MB밖에 없어서 지역변수 크기가 크면 메모리 초과가 발생한다.
따라서 크기가 큰 변수는 모두 전역 변수에 넣거나 동적할당을 한다.
- 삼성 코딩테스트의 경우 프로그램 한 번에 여러 케이스를 다뤄야하는 문제들이 나와서 변수 초기화 문제가 생기기 쉽다.
따라서 void init() 함수를 따로 만들어서 실수를 미연에 방지하자.
memset을 쓰면 더욱 쉽다. 대신 값을 0, -1 이외의 값으로 초기화할 때는 쓰면 안된다. 왜냐하면 1바이트 단위로 값을 초기화하기 때문에 4바이트 단위인 int형을 넣으면 이상한 값으로 초기화된다.
만약 다른 값으로 초기화하고 싶으면 fill_n(arr, size, value)로 초기화하면 된다.
vector의 경우에는 fill(vec.begin(), vec.end(), value)
를 활용하자.
#include<cstring>
bool check[1001];
int main()
{
memset(check, false, sizeof(check));
}
- 삼성 테스트의 경우 입출력이 상당히 길기 때문에 freopen
을 쓰면 훨씬 편리하다.
이 때 아래와 같은 설정이 필요하다. warning을 무시해야하기 때문이다.
#pragma warning(disable:4996)
'TIL💡 > Trial And Error' 카테고리의 다른 글
파이썬의 try~except는 효율적일까? (0) | 2022.07.26 |
---|---|
[.NET] Apple M1 .NET Core 설치 과정 (0) | 2021.12.24 |
[npm] Please add a browserslist key to your package.json. (0) | 2021.12.23 |
Apple M1 개발환경 구축 (0) | 2021.12.05 |
비동기 처리가 효율적일까? (0) | 2021.12.05 |