일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 코틀린
- 혼공파
- 티스토리챌린지
- 프로그래머스
- CS
- 기술면접
- 알고리즘
- 안드로이드스튜디오
- Android
- 카카오코테
- 정보처리기사
- Til
- SQL
- doitandroid
- 혼공챌린지
- MySQL
- 인프런
- 코테
- 스터디
- 혼공단
- Kotlin
- 정처기
- 자료구조
- 안드로이드
- 오블완
- select
- join
- groupby
- 자바
- java
- Today
- Total
목록전체 글 (318)
Welcome! Everything is fine.
인프런 강의 을 보고 정리한 내용입니다.매주 모여 각자 정리한 내용을 기반으로 발표하고 질문 공유하는 스터디입니다. 📘Object 클래스Object 클래스란자바가 제공하는 라이브러리 중 자바 언어를 이루는 가장 기본이 되는 클래스들을 보관하는 java.lang 패키지가 있다. java.lang 패키지는 모든 자바 애플리케이션에 자동으로 import 된다. ✔️ java.lang 패키지의 대표적인 클래스Object : 모든 자바 객체의 부모 클래스String : 문자열Integer, Long, Double : 래퍼 타입, 기본형 데이터 타입을 객체로 만든 것Class : 클래스 메타 정보System : 시스템과 관련된 기본 기능들을 제공이 중에서도 모든 클래스의 최상위 부모 클래스인 Object 클래스..
슬라이딩 윈도우(Sliding Window)란?슬라이딩 윈도우(Sliding Window) 알고리즘은 배열이나 리스트에서 연속된 부분 구간(윈도우)을 효율적으로 탐색할 때 사용되는 알고리즘이다. 다음과 같은 상황에 자주 활용된다.고정된 크기의 부분 배열을 찾는 문제연속된 부분 구간의 최대값/최소값을 찾는 문제특정 조건을 만족하는 부분 구간을 찾는 문제슬라이딩 윈도우를 사용하면 고정된 크기의 윈도우를 정해 그 크기 안에서 데이터를 참색하거나 누적 계산을 수한다. 매번 전체 배열을 탐색하는 대신 윈도우를 이동하며 필요한 계산만 업데이트 하므로 시간 복잡도 O(N)이다. 배열에서 고정된 크기의 부분합 중 최대값을 구하는 예제를 보자.public class SlidingWindowExample { publ..
해당 스터디는 저자님과 함께하는 스터디입니다.인프런 강의 코딩 테스트 합격자 되기 C++ > 을 보고 정리한 내용입니다.백트래킹이란?💡 백트래킹 : 가장 최근에 방문했던 노드로 다시 돌아가는 것(ex. DFS), 완전 탐색X 내가 찾는 답일 가능성이 있는 경우에만 탐색 외출을 했는데 집에 물건을 놓고 왔을 경우, 모든 아파트를 탐색해야 할까? 그런 사람은 없을 것이다.🤔 당연히 우리집에 물건을 놓고왔으니, 다른집에는 물건이 없다고 판단한다. 이 부분을 구현해야 하는 것이고, 이것을 유망함수라고 한다. 다른집에 있을 가능성이 없다(=유망하지 않다)는 것을 표현하는 것을 말한다. ✔️ 상태 정의 : 문제의 각 단계에서 가능한 상태를 정의하는 것✔️ 유망함수(isPromising) : 현재 상태가 유망한..
✔️ 데이터 클래스(Data Class) : 데이터를 저장하는 용도로 주로 사용되는 클래스data 키워드로 선언자동으로 equals(), hashCode(), toString(), copy()와 같은 메서드를 생성equals(): 객체의 값 비교를 위한 메서드hashCode(): 객체의 해시 코드를 반환toString(): 객체의 내용을 문자열로 표현copy(): 객체의 복사를 위한 메서드componentN(): 객체의 프로퍼티를 반환하는 메서드(구조 분해 선언에서 사용)주 생성자 필수, 최소 하나 이상의 프로퍼티 필요data class User(val name: String, val age: Int)fun main() { val user1 = User("Alice", 25) val user2..
💭 면접에서 받은 질문을 간단히 포스팅한 내용입니다. 코틀린에서 Scope Function은 특정 객체에 대해 작업할 때 코드의 가독성을 높이고 중복을 줄이는 함수다. 대표적으로 let, run, with, apply, also가 있다. 각 함수는 객체를 블록 내에서 접근하는 방식을 제공하며, 블록의 실행 결과나 객체 자체를 반환한다.let: 객체를 it으로 참조하며 결과를 반환하는 함수다. 주로 Null 검사나 값 변환에 사용된다.run: 객체를 this로 참조하며 결과를 반환하는 함수다. 객체 초기화나 특정 연산을 실행할 때 사용된다.with: 인수로 객체를 받아 this로 참조하고 결과를 반환한다. 특정 객체에 대해 여러 작업을 수행할 때 사용된다.apply: this로 객체를 참조하고 객체 자체..
자바에서 두 객체가 같다는걸 확인할 때, 두 가지로 표현할 수 있다는 것을 배웠다.동일성(Identity) : == 연산자 이용, 두 객체의 참조가 동일한 객체를 가리키는지 확인동등성(Equality) : equals() 메서드 이용, 두 객체가 논리적으로 동등한지 확인강의를 보며 예제 코드로 실습을 하다가 이해가 가지 않는 부분이 있었다. User 객체를 생성해 동일성, 동등성 비교를 할 때, 모두 false가 출력된 것이다. 그리고 Object가 기본적으로 제공하는 equals()는 == 으로 동일성 비교를 제공한다는 것이었다. 그래서 '그럼 왜 euqlas()'라는 메서드를 만든거지? 라는 생각이 들었다. User user1 = new User("id-100"); User user2 = new U..
💭 면접에서 받은 질문을 간단히 포스팅한 내용입니다. Q. 코루틴과 스레드의 차이점은 무엇인가요?A. 코루틴과 스레드는 둘 다 비동기 작업을 처리하기 위해 사용되지만, 동작 방식과 효율성에서 차이가 있습니다. 스레드는 운영체제에서 관리하는 독립적인 실행단위로, 새로운 스레드를 만들면 일정한 메모리와 자원을 소비합니다. 따라서 스레드가 많아지면 메모리와 CPU를 더 많이 사용해 오버헤드가 발생할 수 있습니다. 반면, 코루틴은 코틀린에서 제공하는 기능으로 경량 스레드처럼 작동합니다. 실행을 일시중단하고 다른 코루틴으로 전환할 수 있는 비동기 작업의 구조입니다. 코루틴은 스레드에 비해 메모리를 적게 사용하고, 실행 속도도 더 빨라 많은 비동기 작업을 효율적으로 처리할 수 있습니다. ✔️ 코루틴은 작업마다 스..
해당 스터디는 저자님과 함께하는 스터디입니다.인프런 강의 코딩 테스트 합격자 되기 C++ > 을 보고 정리한 내용입니다. 이번주 스터디 주제는 그래프이다. 그래프에 관해 간단하게 정리해둔 예전 포스팅도 있어서 같이 첨부해놓았다. 그래프 문제는 머리로는 이해해도 문제로 풀려고 하면 잘 풀리지 않는다. 문제를 많이 풀어봐야할 것 같다..🙄 [CS 발표_13] 그래프의 개념, 그래프 구현 방법그래프란?비선형 자료구조 중 하나로, 데이터를 포함하는 정점(vertex)과 정점을 잇는 간선(edge)으로 구성된 자료구조그래프의 종류무방향 그래프 : 간선에 방향성이 없는 그래프, 정점의 개수가 n3uomlkh.tistory.com그래프의 개념그래프 : 노드와 간선을 이용한 비선형 자료구조로 목적에 따라 선의 가중..