(방울)도마토의 개발일지

고정 헤더 영역

글 제목

메뉴 레이어

(방울)도마토의 개발일지

메뉴 리스트

  • 홈
  • 태그
  • 방명록
  • Developer (159)
    • TIL (16)
    • AppleAcademy (32)
    • Swift&SwiftUI (40)
      • UIKit (3)
    • UXUI (3)
    • HIG (2)
    • SeSAC (1)
    • Java Script (8)
    • Java (19)
    • Database (26)
      • MySQL (8)
      • Spring (5)
      • SpringBoot and JPA (10)
    • Algorithm and Data Structur.. (0)
    • ML (3)
    • StackOverflow for domato (1)
    • Coding Test (4)

검색 레이어

(방울)도마토의 개발일지

검색 영역

컨텐츠 검색

전체 글

  • [프로그래머스 스쿨] 올바른 괄호

    2026.04.07 by (방울)도마토

  • [프로그래머스 스쿨] 기능개발

    2026.04.07 by (방울)도마토

  • [프로그래머스 스쿨] 같은 숫자는 싫어

    2026.04.06 by (방울)도마토

  • [Java] Stack and Queue

    2026.04.06 by (방울)도마토

  • [JAVA] Collections 01

    2026.01.14 by (방울)도마토

  • 1212 TIL Java, Python, Swift의 얕은 복사 깊은 복사

    2025.12.12 by (방울)도마토

  • [JAVA] Concurrency 03

    2025.11.30 by (방울)도마토

  • [JAVA] Concurrency 02 - Executor

    2025.11.30 by (방울)도마토

[프로그래머스 스쿨] 올바른 괄호

// 나의 풀이import java.util.*;class Solution { boolean solution(String s) { Stack stack = new Stack(); for (int i = 0; i // 남의 풀이 class Solution { boolean solution(String s) { int count = 0; for (int i = 0; i 💡 '숫자 카운트'로 푸는 더 쉬운 방법스택 자료구조를 직접 쓰지 않고도, **"열린 괄호의 개수"**만 세는 방식으로 아주 간단하게 코드를 짤 수 있어요. 이 방식이 실전 코딩 테스트에서는 메모리도 적게 쓰고 속도도 훨씬 빠릅니다.핵심 로직( 가 나오면: +1 (열렸다!))..

Coding Test 2026. 4. 7. 23:12

[프로그래머스 스쿨] 기능개발

// 나의 풀이 import java.util.*;class Solution { public int[] solution(int[] progresses, int[] speeds) { Queue queue = new LinkedList(); List answerList = new ArrayList(); // 기능 배포까지 남은 일자 계산 for (int i = 0; i i).toArray(); }} // 남의 풀이 import java.util.ArrayList;import java.util.Arrays;class Solution { public int[] solution(int[] progresses, int[] speeds) { in..

Coding Test 2026. 4. 7. 22:51

[프로그래머스 스쿨] 같은 숫자는 싫어

https://school.programmers.co.kr/learn/courses/30/lessons/12906 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr // 나의 풀이import java.util.*;public class Solution { public int[] solution(int []arr) { Stack stack = new Stack(); for (int i : arr) { if (stack.isEmpty() || stack.peek() != i) { stack.push(i); } ..

Coding Test 2026. 4. 6. 21:09

[Java] Stack and Queue

1. Stack (LIFO: Last-In-First-Out)가장 나중에 들어간 데이터가 가장 먼저 나오는 '후입선출' 구조입니다. 자바에서는 Stack 클래스를 제공하지만, 최근에는 더 유연한 Deque(ArrayDeque)를 사용하는 것을 권장하기도 합니다. 하지만 코테 기초 단계에서는 Stack 클래스가 직관적입니다.🛠️ 구현 및 주요 메소드import java.util.Stack;Stack stack = new Stack();stack.push(10); // 데이터 추가 (맨 위)stack.pop(); // 맨 위 데이터 꺼내기 및 제거stack.peek(); // 맨 위 데이터 확인 (제거 X)stack.isEmpty(); // 스택이 비어있는지 확인 (bo..

Coding Test 2026. 4. 6. 20:28

[JAVA] Collections 01

What Is a Collections Framework?여러 객체를 하나의 묶음으로 다루기 위한 표준 자료구조, 알고리즘 묶음 Interfaces: List, Set, Map, Queue 같은 추상 타입. 사용하는 쪽은 인터페이스만 보고 코드를 작성함 Implementations: ArrayList, LinkedList, HashSet, TreeMap 같은 실제 자료 구조 알고리즘: 정렬, 검색, 필터링 같이 컬렉션을 다루는 공통 연산(예: Collection.sort, removeAll, stream 연산 등)다양한 구현 클래스가 어떻게 내부적으로 데이터를 저장하는지에 관계없이, 동일한 메서드들을 통해 리스트를 조작할 수 있게 해줌// 인터페이스(왼쪽) + 구현체(클래스, 오른쪽)를 분리List na..

Java 2026. 1. 14. 23:28

1212 TIL Java, Python, Swift의 얕은 복사 깊은 복사

요즘 java와 python을 공부하는 중인데 collection 파트만 들어가면 너무너무 헷갈리는 부분이 있었다.자꾸 array 랑 dictionary 를 복사할 때마다 깊은 복사를 해야 값이 변하지 않는다는 것이다,, 왜,,? 대체 why? 복사를 이미 했는데 왜 값이 달라짐? 이러한 궁금증을 해결하기 위해 얕은 복사와 깊은 복사 그리고 swift와 java/python 와의 차이점을 공부해보았다. 1. Shallow Copy vs. Deep Copy Shallow Copy(얕은 복사)데이터가 있는 주소(Reference)만 복사복사된 값을 고치면, 원본도 바뀜참조에 의한 복사(Call by Reference)Deep Copy(깊은 복사)실제 데이터 자체를 메모리에 새로 생성해서 복사함 복사된 값을..

TIL 2025. 12. 12. 17:18

[JAVA] Concurrency 03

Immutable Objects(불변 객체) 개념: 객체 생성 후에는 상태(멤버 변수)를 절대 바꿀 수 없게 만듦DTO(Data Transfer Object), VO(Value Object), Record 타입이 불변 객체임final public class ImmutableRGB { // 1. 클래스를 final로 (상속 금지) // 2. 모든 필드를 final로 (변경 금지) final private int red; final private int green; final private int blue; final private String name; public ImmutableRGB(int red, int green, int blue, String name) { ..

Java 2025. 11. 30. 23:44

[JAVA] Concurrency 02 - Executor

Excutor 가 필요한 이유 사용자 요청이 올 때마다 new Thread()로 스레드를 새로 만든다면?비용 문제: 스레드를 생성하고 없애는 건 OS 입장에서 엄청나게 비싼 작업!관리 문제: 요청이 갑자기 10만 개가 오면? 스레드 10만 개가 생성되다가 메모리 부족(OOM)으로 서버가 터짐!해결책: 스레드를 미리 10개만 딱 만들어두고(Thread Pool), 작업(Task)이 들어오면 놀고 있는 스레드한테 일을 시키자. 다 쓴 스레드는 버리지 말고 다시 대기시켜서 재사용하자~!이 스레드 관리자 역할을 하는 것이 Executor 인터페이스와 그 구현체인 ExecutorService! Excutor 의 핵심 인터페이스 Executor: "일(Runnable) 줄게, 실행해줘." (가장 단순, 실행만 ..

Java 2025. 11. 30. 23:13

추가 정보

인기글

최신글

페이징

이전
1 2 3 4 ··· 20
다음
TISTORY
(방울)도마토의 개발일지 © Magazine Lab
페이스북 트위터 인스타그램 유투브 메일

티스토리툴바