본문 바로가기

전체 글

(426)
백준 16236 - 아기상어,시뮬레이션,우선순위큐, 그리디,알고리즘, Programmers, Stack, Queue, Hash, 코딩테스트, Algorithm, Leetcode, search, greedy,acmicpc,bfs,dfs, priority queue // Process // 1. Input n of nxn, nxn matrix // 2. 먹을 수 있는 물고기가 있으면 반복한다. // 2.1. 먹을 수 있는 물고기 중, 가장 가깝고, 맨 위의 왼쪽에 있는 물고기와의 거리를 센다. // 2.2. 해당 위치로 상어를 이동시킨다. // 2.3. 총 거리에 센 거리를 더한다. // 2.4. 사이즈업까지 남은 고기수를 줄인다. // 2.5. 빈칸으로 만든다. // 3. 총 거리를 반환한다. import java.io.*; import java.util.*; class BabyShark { static List eatable; public static void main(String[] args) throws IOException { // 1. BufferedRe..
백준 11000 - 강의실배정,우선순위큐, 그리디,알고리즘, Programmers, Stack, Queue, Hash, 코딩테스트, Algorithm, Leetcode, search, greedy,acmicpc,bfs,dfs, priority queue // Process // 1. Input lecture count, lecture start and end times // 2. lecture times를 시작시간 기준 오름차순으로 정렬한다. // 3. 강의실 사용 우선순위큐를 만들어 종료시간을 기준으로 오름차순 poll 되도록 한다. // 4. 강의시간을 전체 반복한다. // 4.1. 강의실 사용 시간들 중, 가장 먼저 끝나는 시간의 강의실에 강의를 넣을 수 있는지 확인해서 // 4.1.1. 있으면 -> 끝나는 시간 변경한다. // 4.1.2. 없으면 -> 강의실 새로 추가해서 끝나는 시간 넣는다. // 5. 필요 강의실 개수 반환한다. // 퍼포먼스를 위해서는 priority queue 써서, 강의실 사용 시간 중 가장 먼저 끝나는 시간을 계속 최신..
백준 1197 - 최소신장트리,MST, 그리디,알고리즘, Programmers, Stack, Queue, Hash, 코딩테스트, Algorithm, Leetcode, search, greedy,acmicpc,bfs,dfs // Process // 1. Input countVertex, countEdge, edges // 2. Make vertexes for union check // 3. Sort edges // 4. Iterate till all vertex are connected (edge count = vertex count - 1) // 4.1. Get edge // 4.2. Check if it's making cycle // 4.2.1. If not -> add weight, update union // 5. Return totalWeight import java.io.*; import java.util.*; class MinimumSpanningTree { private static int[] vertexe..
TDD, TestDrivenDevelopment, 테스트 기반 개발, unit test, 단위테스트, 설계, TFD, TestFirstDevelopment, 테스트 우선 개발 2021.04 우아한테크캠프 pro 프리코스 중 자바지기님의 TDD 관련 강의를 이해한대로 간략 정리 TDD -> Test code + Production code 로 이루어져 있다. 테스트 코드는 말그대로 테스트를 하기 위한 코드이고, 프로덕션 코드는 비지니스 등 로직 코드이다. TDD는 단위테스트와는 다르다. TDD가 단위 테스트를 이용하는 큰 범주로 볼 수 있겠다. TDD는 단위 테스트를 먼저 작성하고, 그에 맞게 역으로 프로덕션 코드를 작성하고, 리팩토링 하는 과정을 반복한다. TDD는 테스트 기반이지만, 테스트기술 뿐만은 아니고 분석기술이면서 설계기술이다. (테스트 + 분석 + 설계) TDD를 잘하기 위해서는 요구사항을 잘 분석해서 TODO 리스트를 잘 만들어야 한다. TDD를 하면 얻어지는 장..
백준 1700 - 멀티탭스케줄링, 그리디,알고리즘, Programmers, Stack, Queue, Hash, 코딩테스트, Algorithm, 풀이과정, Leetcode, 릿코드, 코딩테스트, Tech interview, search, greedy, baekjoon, bfs,dfs,acmicpc // Process // 1. Input countPlug, countMachine, useOrder // 2. Iterate useOrder // 2.1. If pug is not empty // 2.1.1. 꽂혀있는 것들 중에서, 사용하는 물건인지 확인하고 그 중에 없으면 // 뒤에 가장 근접하게 재사용하는 것들부터 남기고 가장 멀리있거나 다시 안쓰는 것을 뽑는다. // 2.1.2. 뽑을 때 ++count // 2.2. Plug new one // 3. Return count import java.io.*; import java.util.*; class MultitabSchedule { public static void main(String args[]) throws IOException { Buff..
백준 11724 - 연결요소의개수, 너비우선, 깊이우선, 프로그래머스, 알고리즘, Programmers, Stack, Queue, Hash, 코딩테스트, Algorithm, 풀이과정, Leetcode, 릿코드, 코딩테스트, Tech interview, search, greedy, baekjoo.. 금방 풀고 계속 시간초과가 나서 왜지왜지 하면서 이렇게 저렇게 계속 풀었는데.. Vertex 내에서 adjacents를 LinkedList로 해서 그랬던 거였고.. ArrayList로 해야 했던 것 같다. 인덱스 접근이 있어도 고작 1000개 노드라서 일반적으로 쓰는 연결리스트 쓴건데 이게 그렇게 차이가 있나 싶었지만 뭐 암튼.. 여러번 풀면서 bfs dfs 번갈아서 여러번 연습해서 나쁘지 않았다.. import java.io.*; import java.util.*; class Main { private static List vertexes = new ArrayList(); public static void main(String[] args) throws IOException { int count = 0..
Git commit convention, 깃 커밋 컨벤션, How to commit, 커밋 메시지 포맷, Angular JS git commit message conventions gist.github.com/stephenparish/9941e89d80e2bc58a153 AngularJS Git Commit Message Conventions AngularJS Git Commit Message Conventions. GitHub Gist: instantly share code, notes, and snippets. gist.github.com Git commit 시에 메시지에 대한 컨벤션 Git commit convention 참고하는 방법으로, 1. 커밋 메시지 포맷을 본다. 2. Subject line 에서 type에 들어가는 것들을 본다. 3. Subject line 에서 scope에 들어가는 것들을 본다. 4. Message body에 들어가는 내용을 확인한다. 5. Mes..
IntelliJ 인텔리제이 UTF-8 한글 깨짐 인코딩 문제, error: unmappable character (0xEB) for encoding x-windows-949 error: unmappable character (0xEB) for encoding x-windows-949 오랜만에 IntelliJ를 다시 깔고 프로젝트를 만드니, 한글이 제대로 인코딩이 안되고 깨져서 빌드 시 오류가 나거나 한다. 예전에 원래도 그랬는지 모르겠지만.. 검색해서 이것저것 해봤지만, ================================================================= 아래 2가지를 한다. ================================================================= File - Settings - File Encodings 에서 Global Encoding / Project Encoding 둘 다 UTF-8로 변경 ..