이번 주 목표
📢 이번주 목표는 백준 실버1까지 승급하는 것이다. 현재 실버1이다.
오늘 스케줄
09:00~09:20 팀 모닝 스크럼09:20~12:00 데일리 과제 문제 풀이
12:00~13:00 점심 식사
13:00~17:00 데일리 과제 문제 풀이
17:00~17:20 팀 코드 선정 회의
17:20~18:20 인프런 DB 1편 강의수강
18:20~18:40 기술 매니저님과 팀 코드 리뷰
18:40~19:40 저녁 식사
20:00~휴식
오늘 목표
👉 데일리 과제 모두 풀기
👉 TIL 빠지지 않고 작성하기
👉 북스터디 참여
👉 마이크로서비스 강의 수강
👉 인프런 DB 1편 강의 듣기
오늘 한 것
데일리 과제 모두 풀기인프런 DB 1편 강의 듣기TIL 빠지지 않고 작성하기
오늘 못한 것
- 북스터디 참여
- 마이크로서비스 강의 수강
알게된 것
이분 탐색 / 이진 탐색 (Binanry Search)

- 이진 탐색(이분 탐색) 알고리즘은 정렬되어 있는 리스트에서 탐색 범위를 절반씩 좁혀가며 데이터를 탐색하는 방법이다.
- 이진 탐색은 배열 내부의 데이터가 정렬되어 있어야만 사용할 수 있는 알고리즘이다.
- 변수 3개(start, end, mid)를 사용하여 탐색한다. 찾으려는 데이터와 중간점 위치에 있는 데이터를 반복적으로 비교해서 원하는 데이터를 찾는 것이 이진 탐색의 과정이다
✅ 예시 코드
직접 구현한 Binary Search
public class BinarySearch {
int binarySearch(int arr[], int x) {
int l = 0, r = arr.length - 1;
while (l <= r) {
int m = l + (r - l) / 2;
// x가 중간에 있는지 확인
if (arr[m] == x)
return m;
// x가 더 크면 왼쪽 절반 무시
if (arr[m] < x)
l = m + 1;
// x가 더 작으면 오른쪽 절반 무시
else
r = m - 1;
}
// 여기에 도달하면, 원소가 존재하지 않음
return -1;
}
}
자바에서 제공하는 Binary Search
import java.util.Arrays;
public class BinarySearch {
public static void main(String[] args) {
int arr[] = {10, 20, 30, 40, 50};
int key = 30;
int result = Arrays.binarySearch(arr, key);
if (result < 0)
System.out.println("Element is not found!");
else
System.out.println("Element found at index: " + result);
}
}
🤔오늘의 반성
- 마이크로서비스 강의를 못 들었다 ㅠㅠ
- 내일은 꼭 책 읽자.. 좀 제발..
- 손님이 오셔서 저녁 시간 이후로 공부를 못함
- TIL을 늦게 작성했다.
👍 오늘의 칭찬
1. 지각하지 않았다.
2. 깃헙 1일 1커밋 달성
3. TIL을 빠지지 않고 작성했다.
4. 오늘의 데일리 과제 모두 풀었다.
5. 이번주 목표인 백준 실버1을 달성했다.
❗ 항해99 취업 리부트 코스를 수강하고 작성한 콘텐츠 입니다.
https://hanghae99.spartacodingclub.kr/reboot
'TIL' 카테고리의 다른 글
[항해99 취업 리부트 코스 학습일지] 20일차 (0) | 2024.04.09 |
---|---|
[항해99 취업 리부트 코스 학습일지] 18일차 (1) | 2024.04.07 |
[항해99 취업 리부트 코스 학습일지] 16일차 (0) | 2024.04.05 |
[항해99 취업 리부트 코스 학습일지] 15일차 (0) | 2024.04.04 |
[항해99 취업 리부트 코스 학습일지] 14일차 (1) | 2024.04.03 |