목록2023/07/25 (3)
넘치게 채우기
소프트웨어에서 이름은 어디나 쓰입니다. 우리는 변수, 함수, 인수, 클래스, 패키지, 파일과 폴더 등 모두 이름을 붙입니다. 이렇게 많이 쓰이는 이름을 처음에 한 번 잘지으면 앞으로의 개발이 편해집니다. 의도를 분명히 밝혀라 좋은 이름을 만드는데에는 시간이 걸릴 수 있으나, 그로인해 앞으로 절약될 시간은 더 큽니다. 개발을 하다가도, 더 나은 이름이 생각나면 모두 바꾸십시오. 변수나 함수, 클래스의 이름은 존재 이유 수행 기능 사용 방법 을 주석 없이 표현할 수 있어야 합니다. int d; // 경과 시간(단위: 날짜) 보다 int elapsedTimeInDays; int daysSinceCreation; 와 같이 의도가 드러나는 이름을 사용하면 코드 이해와 변경이 쉬워집니다. 그릇된 정보를 피하라 널리..
ios_base::sync_with_stdio(false); cin.tie(null); ios_base::sync_with_stdio(false)는 C++의 iostream과 C의 stdio의 동기화를 끊습니다. 기본적으로 C++의 iostream은 C 스타일의 입출력과 동기화되도록 설계되어 있어서 C스타일의 입출력 함수도 같이 사용되는 경우가 많습니다. 이 동기화 과정에서 속도저하가 발생합니다. cin.tie(null)은 cin과 cout이 동기화되지 않도록 설정합니다. 기본적으로 cin은 cout과 묶여서 작업이 있을 때마다 출력 버퍼를 비우는 작업이 수행되는데, 이 동기화를 막으면 더 빨리 작업이 실행됩니다. 알고리즘 문제를 푸는 데에는 매우 빠르게 활용할 수 있습니다.
https://leetcode.com/problems/peak-index-in-a-mountain-array/description/ Peak Index in a Mountain Array - LeetCode Can you solve this real interview question? Peak Index in a Mountain Array - An array arr a mountain if the following properties hold: * arr.length >= 3 * There exists some i with 0 < i < arr.length - 1 such that: * arr[0] < arr[1] < ... < arr[i - 1] < arr leetcode.com 문제 유형 : 배열 문..