Jwhy's Blogitory
close
프로필 배경
프로필 로고

Jwhy's Blogitory

  • 분류 전체보기 (128)
    • Book Study (49)
      • [Java] 이펙티브 자바 (19)
      • [Kotlin] 코틀린 코루틴 (6)
      • [Kotlin] 코틀린 인 액션 (4)
      • [Kotlin] 객체에서 함수로 (4)
      • [Web] 웹을 지탱하는 기술 (9)
      • [Web] HTTP2 IN ACTION (5)
      • [Spring] 토비의 스프링 3.1 (0)
      • [Theory] 출.스.마 (1)
      • [CS] 누구나 자료구조와 알고리즘 (1)
    • Devlog (13)
      • Kotlin (1)
      • Project (3)
      • Java (0)
      • Git (3)
      • AI (5)
      • 회고 (1)
    • Kotlin (13)
      • 이론 (1)
      • 기능 정리 (1)
      • [Inflearn] 코틀린 입문 (11)
    • Spring (29)
      • 이론 (1)
      • 프로젝트 (1)
      • 트러블 슈팅 (14)
      • 기능 정리 (12)
      • 리뷰 (1)
    • Java (2)
      • 이론 (2)
    • PS (18)
      • 이론 (1)
      • DFS, BFS, 백트래킹, 다익스트라 (11)
      • DP (2)
      • 이분 탐색 (1)
      • 구현, 시뮬레이션 (1)
      • 그리디 (2)
    • DevOps (4)
      • AWS (4)
  • 홈
  • 태그
  • 방명록

[Item23] - 태그 달린 클래스보다는 클래스 계층구조를 활용하라.

Effective Java 3/E를 공부하며 작성한 글입니다. 혼자 공부하고 정리한 내용이며, 틀린 부분은 지적해주시면 감사드리겠습니다 😀 태그 클래스 태그 달린 클래스란, 현재 상태에 대한 필드가 존재하는 클래스를 의미한다. 아래 클래스에 대한 코드를 확인해보면 shape라는 변수가 현재 Figure가 RECTANGLE인지 CIRCLE인지에 대한 상태를 반환하므로, 태그로 볼 수 있다. public class Figure { enum Shape {RECTANGLE, CIRCLE}; final Shape shape; // 사각형(RECTANGLE)일 경우 사용 double length, width; // 원(CIRCLE)일 경우 사용 double radius; public Figure(double rad..

  • format_list_bulleted Book Study/[Java] 이펙티브 자바
  • · 2023. 10. 29.
  • textsms

[백준][JAVA] - 진우의 민트초코우유(20208)

문제 소개 🥇️ 문제 레벨 : 골드5 🔔 문제 유형 : 백트래킹, 브루트포스 💬 풀이 언어 : JAVA ⏱️ 풀이 시간 : 30분 🖇️ 문제 링크 : 백준 문제 링크 📝 문제 진우는 민트초코우유를 좋아하는 민초단이다. 힘든 일이 있더라도 민트초코우유 하나를 마시면 기운이 펄펄 솟는다고 한다! 민트초코우유를 너무 좋아하는 나머지 진우는 매일 아침 특정 지역들에서 민트초코우유가 배달된다는 N × N 크기의 2차원 민초마을로 이사를 하였다. 진우는 아침에 눈을 뜨면 집에서 민초마을의 지도를 들고 민트초코우유를 찾으러 출발한다. 이때의 초기 체력은 M이다. 여기에서 체력은 진우가 이동할 수 있는 거리를 나타낸다. 진우는 지도상에서 상, 하, 좌, 우로 1칸씩 이동할 수 있으며 이동하면 체력이 1만큼 줄어든다. ..

  • format_list_bulleted PS/DFS, BFS, 백트래킹, 다익스트라
  • · 2023. 10. 28.
  • textsms

[백준][JAVA] - 알파벳(1987)

문제 소개 🥇️ 문제 레벨 : 골드4 🔔 문제 유형 : 백트래킹, 깊이 우선 탐색 💬 풀이 언어 : JAVA ⏱️ 풀이 시간 : 15분 🖇️ 문제 링크 : 백준 문제 링크 📝 문제 세로 R칸, 가로 C칸으로 된 표 모양의 보드가 있다. 보드의 각 칸에는 대문자 알파벳이 하나씩 적혀 있고, 좌측 상단 칸 (1행 1열) 에는 말이 놓여 있다. 말은 상하좌우로 인접한 네 칸 중의 한 칸으로 이동할 수 있는데, 새로 이동한 칸에 적혀 있는 알파벳은 지금까지 지나온 모든 칸에 적혀 있는 알파벳과는 달라야 한다. 즉, 같은 알파벳이 적힌 칸을 두 번 지날 수 없다. 좌측 상단에서 시작해서, 말이 최대한 몇 칸을 지날 수 있는지를 구하는 프로그램을 작성하시오. 말이 지나는 칸은 좌측 상단의 칸도 포함된다. 🤔 문제 ..

  • format_list_bulleted PS/DFS, BFS, 백트래킹, 다익스트라
  • · 2023. 10. 26.
  • textsms

[백준][JAVA] - 1, 2, 3 더하기(9095)

문제 소개 🥈 문제 레벨 : 실버3 🔔 문제 유형 : 다이나믹 프로그래밍 💬 풀이 언어 : JAVA ⏱️ 풀이 시간 : 30분 🖇️ 문제 링크 : 백준 문제 링크 📝 문제 정수 4를 1, 2, 3의 합으로 나타내는 방법은 총 7가지가 있다. 합을 나타낼 때는 수를 1개 이상 사용해야 한다. 1+1+1+1 1+1+2 1+2+1 2+1+1 2+2 1+3 3+1 정수 n이 주어졌을 때, n을 1, 2, 3의 합으로 나타내는 방법의 수를 구하는 프로그램을 작성하시오. 🤔 문제 분석 문제에서 언급한 것과 같이 1, 2, 3만을 사용해서 값을 표현할 수 있는 경우의 수를 구해야 한다. 0부터 3까지 각각 사용할 수 있는 경우의 수를 확인해보면 아래와 같다. 구분 경우의 수 조합 1 1개 1 2 2개 1 + 1 / ..

  • format_list_bulleted PS/DP
  • · 2023. 10. 26.
  • textsms

[백준][JAVA] - 치킨 배달(15686)

문제 소개 🥇️ 문제 레벨 : 골드5 🔔 문제 유형 : 구현, 백트래킹 💬 풀이 언어 : JAVA ⏱️ 풀이 시간 : 40분 🖇️ 문제 링크 : 백준 문제 링크 📝 문제 크기가 N×N인 도시가 있다. 도시는 1×1크기의 칸으로 나누어져 있다. 도시의 각 칸은 빈 칸, 치킨집, 집 중 하나이다. 도시의 칸은 (r, c)와 같은 형태로 나타내고, r행 c열 또는 위에서부터 r번째 칸, 왼쪽에서부터 c번째 칸을 의미한다. r과 c는 1부터 시작한다. 이 도시에 사는 사람들은 치킨을 매우 좋아한다. 따라서, 사람들은 "치킨 거리"라는 말을 주로 사용한다. 치킨 거리는 집과 가장 가까운 치킨집 사이의 거리이다. 즉, 치킨 거리는 집을 기준으로 정해지며, 각각의 집은 치킨 거리를 가지고 있다. 도시의 치킨 거리는 ..

  • format_list_bulleted PS/DFS, BFS, 백트래킹, 다익스트라
  • · 2023. 10. 24.
  • textsms
[백준][JAVA] - 트리의 지름(1967)

[백준][JAVA] - 트리의 지름(1967)

문제 소개🥇️ 문제 레벨 : 골드4🔔 문제 유형 : 깊이 우선 탐색, 그래프💬 풀이 언어 : JAVA⏱️ 풀이 시간 : 60분🖇️ 문제 링크 : 백준 문제 링크📝 문제트리(tree)는 사이클이 없는 무방향 그래프이다. 트리에서는 어떤 두 노드를 선택해도 둘 사이에 경로가 항상 하나만 존재하게 된다. 트리에서 어떤 두 노드를 선택해서 양쪽으로 쫙 당길 때, 가장 길게 늘어나는 경우가 있을 것이다. 이럴 때 트리의 모든 노드들은 이 두 노드를 지름의 끝 점으로 하는 원 안에 들어가게 된다.이런 두 노드 사이의 경로의 길이를 트리의 지름이라고 한다. 정확히 정의하자면 트리에 존재하는 모든 경로들 중에서 가장 긴 것의 길이를 말한다.입력으로 루트가 있는 트리를 가중치가 있는 간선들로 줄 때, 트리의 지..

  • format_list_bulleted PS/DFS, BFS, 백트래킹, 다익스트라
  • · 2023. 10. 24.
  • textsms
  • navigate_before
  • 1
  • ···
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • ···
  • 22
  • navigate_next
공지사항
전체 카테고리
  • 분류 전체보기 (128)
    • Book Study (49)
      • [Java] 이펙티브 자바 (19)
      • [Kotlin] 코틀린 코루틴 (6)
      • [Kotlin] 코틀린 인 액션 (4)
      • [Kotlin] 객체에서 함수로 (4)
      • [Web] 웹을 지탱하는 기술 (9)
      • [Web] HTTP2 IN ACTION (5)
      • [Spring] 토비의 스프링 3.1 (0)
      • [Theory] 출.스.마 (1)
      • [CS] 누구나 자료구조와 알고리즘 (1)
    • Devlog (13)
      • Kotlin (1)
      • Project (3)
      • Java (0)
      • Git (3)
      • AI (5)
      • 회고 (1)
    • Kotlin (13)
      • 이론 (1)
      • 기능 정리 (1)
      • [Inflearn] 코틀린 입문 (11)
    • Spring (29)
      • 이론 (1)
      • 프로젝트 (1)
      • 트러블 슈팅 (14)
      • 기능 정리 (12)
      • 리뷰 (1)
    • Java (2)
      • 이론 (2)
    • PS (18)
      • 이론 (1)
      • DFS, BFS, 백트래킹, 다익스트라 (11)
      • DP (2)
      • 이분 탐색 (1)
      • 구현, 시뮬레이션 (1)
      • 그리디 (2)
    • DevOps (4)
      • AWS (4)
최근 글
인기 글
최근 댓글
태그
  • #백트래킹
  • #백준
  • #java
  • #kotlin
  • #이펙티브 자바
  • #제네릭
  • #자바
  • #코틀린
  • #이펙티브자바
  • #스프링 배포
전체 방문자
오늘
어제
전체
Copyright © 쭈미로운 생활 All rights reserved.
Designed by JJuum

티스토리툴바