회고
[개발일지] - 277
Happy Programmer
2024. 4. 2. 22:28
sfdc js에서 특정 행동 후 페이지 이동(새로고침 등)이 필요한 경우
//해당 레코드 페이지로 이동(본인의 id인 경우 새로고침에 가까운 기능)
const currentUrlHost = window.location.href.split('/lightning')[0];
const newUrl = currentUrlHost + '/' + this.recordId;
window.location.href = newUrl;
SQL 학습 관련
1.CONCAT을 통해 sql 필드 결과값 변경 가능
2.null값을 확인할 경우 where fieldName = null이 아니라 ISNULL(fieldName)형태로 해야 한다.
3.평균은 AVG 반올림은 ROUND를 사용하고 IF문처럼 조건을 사용할 경우 CASE를 사용해야 한다.
SELECT ROUND(AVG(
CASE
WHEN LENGTH < 10 OR LENGTH IS NULL THEN 10
ELSE LENGTH
END
), 2) AS AVERAGE_LENGTH
FROM TABLE_NAME;
4.날짜 포맷을 변경하고 싶은 경우 DATE_FORMAT(DATETIME, '%Y-%m-%d') 형태로 해야 한다.
여기서 Y는 4자리 년도, y는 2자리 년도, m은 2자리 월, M은 영어 월, d는 2자리 일, D는 서수 일이다.
5.문자열을 자를 경우 SUBSTRING을 사용하면 되는데
여기서 특이한점은 INDEX가 0부터 시작되는 것이 아니라 1부터 시작되며
어떤 INDEX까지 가는지를 묻는게 아니라 n개의 글자를 포함시키는 것이었다.
(1).백준 29752번 최장 스트릭은 문제를 푼 기록들이 있을 때
가장 긴 연속 문제풀이 기간을 구해야 하는 문제였다.
간단하게 count로 이어지는 숫자를 계산하고 0이 되는 경우 count를 초기화했는데
사실 초기화 할 때와 끝났을 때 두번만 maxCount를 갱신해도 될 것 같다.
const input = `4
1 4 0 1`.split('\n').map(el => el.split(' ').map(Number))[1]
let maxCount = 0
let count = 0
for(let i = 0 ; i < input.length ; i++){
if(input[i]){
count++
maxCount = Math.max(maxCount, count)
}
else{
count = 0
}
}
console.log(maxCount)