일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
- FilterChain
- 부트캠프
- Spring Security
- 백준알고리즘
- 인텔리제이
- 자료구조
- 첫글자대문자
- 문자열뒤집기
- CLI명령어
- HTML
- Publishing
- Spring Data JDBC
- 깃허브
- 페어프로그래밍
- 데일리코딩
- 계산기만들기
- 스프링
- 그리디
- spring data jpa
- 백엔드
- 자바
- 거듭제곱
- CSS
- java
- 회고
- 제네릭스
- 알고리즘
- 컬렉션프레임워크
- fibonacci
- testing
- Today
- Total
목록분류 전체보기 (69)
나의 모양

💙 시간 복잡도 알고리즘에서는 문제에 대한 해답을 찾는 것과 함께 얼마나 효율적인 방법으로 문제를 해결했는지도 중요하다. 문제를 풀다가 더 효율적인 방법은 뭐가 있을지, 이게 제일 좋은 방법이 맞을지 고민하는 것은 시간 복잡도를 고민한다는 것과 같다. 🤍 개념 입력값의 변화에 따라 연산을 실행할 때, 연산 횟수에 비해 얼만큼의 시간이 걸리는지를 고려하는 것 효율적인 알고리즘을 구현하는 것 = 입력값이 커짐에 따라 증가하는 시간의 비율을 최소화한 것 🤍 분류 최악의 경우(Worst Case): 최악의 시나리오로, 빅 오(Big-O) 표기법 사용 최선의 경우(Best Case): 최선의 시나리오로, 빅 오메가(Big-Ω) 표기법 사용 평균적인 경우(Average Case): 평균 시간을 나타내며, 빅 세타(..
✍🏻 Description 문자열을 입력받아 문자열을 구성하는 각 단어의 첫 글자가 대문자인 문자열 리턴 📝 Flow 1. 문자열로 이루어진 단어를을 돌리면서 담아줄 배열 만들기 - 단어 공백으로 구분 => .split(); 2. 결과값 담을 변수 만들기 3. 단어 순회 => for - String.valueOf(), substring() 4. 각 단어 첫글자 대문자 => .toUpperCase() 5. 문자열 join 5. 문자열 리턴 🤯 Difficulty 문자열을 읽어오는 것 공백으로 구분된 단어 앞을 대문자로 만드는 것 🪆 Attempt 단어 구분 → for문에서 문자열 반복 → 첫 글자 대문자 split한 문자열 join 📚 TIL split() 리턴: 문자열 → 문자열 배열 Parameters..
선배적 참견시점❓ 앞서 코스 수료 후 개발자로 근무중인 선배 수료생과 만나는 시간으로, 수료 후 후회하지 않는 시간을 보내기 위해서는 어떻게 하면 좋을지, 개발자가 어떤 환경에서 일하는지 현실적인 얘기와 현업에서 필요한 하드스킬, 소프트스킬에 대해 나누는 시간이다. 👍🏻 추천 🏹 블로깅 개념 설명 목적의 개발을 모르는 사람들한테 알려주는 글 쓰기 🏹 내가 짠 코드 기록 1석 2조! 깃헙 잔디도 심어지고, 나만의 컴포넌트 박스도 생김 👎🏻 비추천 코드를 눈으로 보고 넘어가는 것 이해되지 않는 코드 치고 기록하지 않고 넘어가는 것 혼자하기 💜 나의 오늘 학습 만족도/느낀점 내가 알고 있(다고 생각하)는 개발 관련 지식들을 모르는 사람에게 설명한다는 것은 참 어려운 일이다. 설명을 하고 이해를 시키려면 내가 ..
✍🏻 Description 문자열을 입력받아 순서가 뒤집힌 문자열 리턴 예시 String output = firstReverse(“abcde”); System.out.println(output); /* 출력값 edcba */ 📝 Flow 1. 순서가 뒤집힌 문자열 담을 변수 2. for loop => 문자열 읽어오기 3. StringBuilder.reverse() 활용 4. char[]로 역순된 새로운 char 배열에 저장 후 문자열로 변환 🤯 Difficulty 문제를 의사코드로 표현하기 어려움 🪆 Attempt 레퍼런스 → 이해 → 구현 📚 TIL StringBuilder 내부에 버퍼를 가지고 있어 변경 가능한 문자열을 만들 때 사용 StringBuilder.reverse(): 문자열 역순 배치 .t..

💙 Tree 🤍 개념 계층적 자료구조 대상 정보의 각 항목들을 계층적으로 연관되도록 구조화시키고자 할 때 사용하는 비선형 자료구조 단방향 그래프 깊이 (depth) 루트로부터 하위 계층의 특정 노드까지의 깊이(depth)를 표현 레벨(Level) 같은 깊이를 가지고 있는 노드의 묶음 형제 노드(Sibling Node): 같은 레벨에 나란히 있는 노드 높이(Height) 리프 노드를 기준으로 루트까지의 높이(height)를 표현 리프 노드와 직간접적으로 연결된 노드의 높이를 표현 부모 노드는 자식 노드의 가장 높은 height 값에 +1한 값을 높이로 가짐 트리 구조의 높이를 표현할 때에는 각 리프 노드의 높이를 0으로 놓음 서브 트리(Sub tree) 트리 구조의 root에서 뻗어 나오는 큰 트리의 내부..
✍🏻 Description 문자열을 입력받아 문자열을 구성하는 각 단어의 첫글자로 이루어진 문자열 리턴 📝 Flow 1. 빈 문자열 => 빈 배열 리턴 2. 단어 첫 글자 담을 배열 선언 3. 각 단어 첫글자 리턴할 변수 선언 4. 단어 반복하고 => for 반복한 단어돌리면서 추출한 앞 단어를 3번에 대입 5. 리턴 🤯 Difficulty 4번을 의사코드로 자세하게(?) 작성하고 구현하는 것 🪆 Attempt 레퍼런스 → 이해 → 구현 필요한 메서드 확인 📚 TIL charAt() String type을 char type으로 변환 사용문자열_변수이름.charAt(문자열 순서) 👩🏻💻 Implementation if(str.length() == 0) return ""; String[] words = s..
✍🏻 Description 2의 거듭제곱 여부 판단 거듭제곱: 같은 수를 거듭하여 곱함 ⇒ 주어진 수를 주어진 횟수만큼 반복 📝 Flow - 2의 거듭제곱? 2의 0승 == 1 2 * 2 = 4 2 * 2 * 2 = 8 2 * 2 * 2 * 2 = 16 2 * 2 * 2 * 2 * 2 = 32 - 짝수라고 다 거듭제곱은 아님 => 6, 10 이런거 6 = 2 * 3 10 = 2 * 5 - 로직흐름: 2로 나눈 나머지는 다 0? 초기값: 8 | 몫 | 나머지 1회차 | 4 | 0 2회차 | 2 | 0 초기값: 10 | 몫 | 나머지 1회차 | 5 | 0 2회차 | 2 | 1 초기값: 7 | 몫 | 나머지 1회차 | 3 | 1 2회차 | 1 | 1 => 나머지가 1이 하나라도 있으면 거듭제곱 X => 모두 ..

💙 Data Structure 🤍 자료구조 데이터란? 데이터: 문자, 숫자, 소리, 그림, 영상 등 실생활을 구성하고 있는 모든 값 데이터가 의미있어지려면: 분석 → 정리 → 활용 데이터의 사용: 필요 목적에 따라 형태 구분 → 분류 자료구조란? 자료의 효율적인 저장과 처리를 위해 자료의 목적에 따라 분류하여 구조화한 것 자료구조의 종류와 구분 💙 Stack 🤍 Stack 정의 & 구조 Stack: 쌓다, 쌓이다 데이터를 순서대로 쌓는 자료구조 stack에 데이터 넣기: push() 꺼내기: pop() 🤍 Stack 특징 LIFO(Last-In First-Out) - 후입선출구조 먼저 들어간 데이터는 제일 나중에 나옴 가장 먼저 들어간 프링글스는 위에꺼가 다 먹히기 전까지 나올 수 없음 public cl..