일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- backtracking
- 그래프
- 모던자바
- Java8
- programmers
- DFS
- 자바
- OS
- 알고리즘
- LEVEL2
- Brute-force
- 운영체제
- Spring
- back-end
- 네트워크
- kotlin
- 백준
- TDD
- lambda
- BFS
- 백트래킹
- 프로그래머스
- 스프링
- DP
- 자료구조
- baekjoon
- 프로젝트
- algorithm
- 코틀린
- java
- Today
- Total
목록java (28)
요깨비's LAB
처음 아이디어는 n을 이진수로 변환하여 저장하고 n+1의 값들을 이진수로 변환하여 이진수끼리 비교하여 1의 개수가 같은지를 비교하려했습니다. 하지만 이것은 값이 매우 커졌을때 매번 이진수 길이만큼 Brute-Force를 수행하기 때문에 시도하기 전에 답이 없겠다는 판단을 했습니다. 그래서 두번째 아이디어로 n의 값을 DFS연산을 하여 n%2, n/2를 이용하여 1인 경우만 체크하여 1의 개수를 count하여 저장. n의 값을 1씩 증가하여 똑같은 DFS연산을 수행한 count값이 n의 count값이 같은지를 비교하여 같으면 연산을 멈추고 답을 출력하는 방식으로 하였습니다. class Solution { public int solution(int n) { int answer = 0; int count = ..
1. 스트래티지 패턴이란? 모든 프로그램은 문제를 해결하기 위해 작성됩니다. 그리고 문제를 해결하기 위해 특정 알고리즘이 구현돼있습니다. Strategy 패턴에서는 그 알고리즘을 구현한 부분을 모두 교환할 수 있습니다. 정리하면 행위를 클래스로 캡슐화하여 동적으로 행위를 바꿀 수 있게 해주는 패턴 - 같은 문제를 해결하는 여러 알고리즘이 클래스 별로 캡슐화되어 있고 이들이 필요할 때 교체함으로써 동일한 문제를 다른 알고리즘으로 해결하도록 하는 디자인 패턴 즉 전략을 쉽게 바꿀 수 있도록 해주는 디자인 패턴 - Strategy : 어떤 목적을 달성하기 위해 일을 수행하는 방식, 비즈니스 규칙, 알고리즘 등을 의미 특히 게임 개발에서 유닛이 처한 상황에 따라 행동 양식을 바꾸고 싶을때 주로 사용됨 역할 - ..
1. 싱글턴 패턴이란? 프로그램을 실행할 때 보통은 많은 인스턴스가 생성됩니다. 예를 들어 java.lang.String 클래스의 인스턴스는 문자열 1개 당 1개씩 생성되기 때문에 문자열 1000개에 대해서 1000개의 인스턴스가 만들어집니다. 하지만 클래스의 인스턴스가 단 '하나만' 필요한 경우도 있습니다. 즉, 전역 변수를 사용하지 않고 객체를 하나만 생성하고, 이 객체를 어디서든지 참조할 수 있는 패턴 지정한 클래스의 인스턴스가 1개밖에 존재하지 않는 것은 '보증'하는 패턴 인스턴스가 1개 밖에 존재하지 않는 것을 프로그램 상에서 표현하고 싶을 때 사용하는 패턴 으로 정리할 수 있습니다. * 생성(Creational) 패턴 - 객체 생성에 관련된 패턴 - 객체의 생성과 조합을 캡슐화해 특정 객체가 ..
어후;; 20번 틀리고 21번째에 드디어 해결했네요... 알고보니 로직은 그럭저럭 맞는것 같았으나 BFS에 대한 공부 부족과 객체 지향 활용을 못한 원인이 가장 컸던 것 같습니다.. 차근차근 어떤 문제 상황에 부딪혔고 해결했는지 끄적여 보겠습니다. 저는 고수분들이랑 다르게 간단하고 명료하게 추상화해서 몇줄 안되는 코드로는 못짜서 코드가 길고 좀 보기 싫습니다.. 그냥 저만의 회고시간입니다.. 클래스 정의 우선 Vertax 클래스를 설계했습니다. class Vertax { private int index; private int color; // -1 색없음, 0 빨 1 파 private HashSet connectedEdges; // 해당 정점과 연결된 정점들을 저장 하기 위한 자료구조 public Ver..