🦾 오늘의 컨디션 및 특이사항(개인 일정 등)
📑 세부 학습 내용
📅 스케쥴
- 2시간 독서 + 궁금한 개념 조사 및 학습 + 작일 코딩테스트 풀이 일부 수정
- 총 2시간
📖 도서 정독 및 실습
실전 레디스 : 기초, 실전, 고급 단계별로 배우는 레디스 핵심 가이드
- 캐싱 등
RDB 의 보조 역할을 해줄 NoSQL 중 가장 범용적이고 유지보수가 잘 진행 중인 Redis 의 구조부터 기초, 심화 내용, 사용법 등을 확실하게 이해하여, 이후의 프로그래밍에 있어 자신 있고 근거 있게 레디스를 채택하고 사용할 수 있는 개발자를 목표로 독서 시작
- 2.2.6 SET 명령어와 옵션 (p.84) ~ 2.5.2 Set형 주요 명령어 (p.112)
- 도서 내 모든 내용 이해 및 실습 완료
✏️ 코딩 테스트
⭕ 수정 코드
class Solution {
public int solution(int[][] targets) {
int answer = 0;
int[][] sortedArr = Arrays.stream(targets)
.sorted((a, b) -> a[1] - b[1])
.toArray(int[][]::new);
int curValue = -1;
for (int[] target : sortedArr) {
int s = target[0];
int e = target[1];
if (curValue <= s) {
++answer;
curValue = e;
}
}
return answer;
}
}
- 이전 풀이에서는
curValue 를 double 형으로 선언한 후, 시작점이 겹치지 않아야 한다는 점에 매몰되어 불필요한 - 연산 수행
- 어차피
curValue <= s 문에서 해당 조건을 만족시키기 때문에, curValue 를 int 형으로 변경 후 불필요한 해당 연산 제거
💡 어려웠던 것 || 알게 된 것