문제 풀면서 배우고 알게 된 공부가 될 만한 내용 정리해둘 생각!
논리 연산자 &&, ||
알고리즘 문제 풀면서 시간을 줄이는 방법들
조건 연산자((식)?'참':'거짓')를 사용하면 코드를 줄일 수 있는 방법들이 꽤 있어서 잘 활용하면 좋을 듯!
테스트케이스가 주어지지 않은 경우는 EOF를 알아야한다!
풀이 1) 동적할당, 2) sort(), 3) 배열사용X, 4) vector
STL - sort() 함수 (정렬 / default : 오름차순)
관건 : a x b x c 의 값의 숫자 하나하나를 어떻게 쪼갤 것인가?
string<->int | char<->int 간의 형변환 / typeid().name() 을 이용한 자료형 확인
문자(' ')와 문자열(" ")의 차이
셀프 넘버
한수
아스키코드 적극 활용! / std::fill_n() 함수
1. for문 / 2. std::fill_n() / 3. C언어의 경우 memset! (단, 0과 char 타입만 초기화)
알파벳 빈도 수 체크할 때 바로 배열 인덱스에 아스키코드로 접근
문장에서 단어의 개수 (공백 카운팅!)
문자열 뒤집기(reverse()) / 문자열 비교(max(), 비교 연산자)
<algorithm> - reverse() 함수 : 배열, 문자열 뒤집기
1) find(), replace() 함수 활용 : 문자열 내 알파벳 찾아 다른 특정 문자로 대체하여 총 문자열 길이 세기 / 2) switch 문 사용 - if-else 덕지덕지 말고 좀 더 효율적으로!
내 문자열.find(찾을 문자열, 시작 위치); : 매개변수로 들어온 문자열과, 내 문자열 중에 일치하는 게 있는지 검색하는 함수
내 문자열.replace(시작 위치, 끝 위치, 바꿀 문자열) : 내 문자열의 시작 위치부터 끝 위치까지의 범위를 바꿀 문자열로 대체
그룹 단어 체커
int 자료형으로 담지 못할 큰 수를 계산하는 방법
방정식으로 풀면 쉬워용
문제의 '규칙성'을 찾는 게 핵심 포인트!
ceil() / floor() : 천장함수 / 바닥함수
float의 상대 오차는 약 10^-7 정도이고, double의 상대 오차는 약 10^-15 정도
최대한 적은 봉지를 들고 가려고 하지만, 우리는 Nkg 을 전부 옮기려는 게 우선이라는 걸 잊어선 안된다.