Free Lines Arrow
본문 바로가기
728x90

Algorithm77

[프로그래머스] 키패드 누르기 문제 분석 내가 중요하게 생각한 분석은 다음과 같다. 1. 거리를 구한다. - 처음에는 BFS 를 써야 되나 싶었는데, 직사각형이니 거리 구하는 공식으로 거리를 구했다. - 점 0,0 에서 다른점 1,1 의 거리를 구하려면 - |x1 - dx1| + |y1 -dy1| 간단하다. 2. 손가락 위치를 갱신한다. - 어떤 손가락을로 눌렀는지 따라 해당 손가락 위치를 업데이트 해준다. 구현 - C++ 로도 구현을 하려 했으나 음.... 크게 차이가 없어서 java로 만 했다. class Solution { private int mDRightX = 0; private int mDRightY = 0; private int mDLeftX = 0; private int mDLeftY = 0; private int mT.. 2021. 7. 22.
[Algorithm] Graph Traversal BFS, DFS Graph Traversal 그래프를 순회 해본다. 순회방식 BFS: 너비 우선 탐색 DFS: 깊이 우선 탐색 BFS 구현 BFS 는 queue 를 이용 하면된다. 1. 처음 방문할 노드를 택한다. 2. 방문한 노드를 큐에 넣는다. 3. 큐에서 꺼내고 방문 했다고 체크 한다. 4. 방문한 노드에 인접한 노드를 큐에 넣어준다. 5. 2~4 까지 queue 가 비워질때 까지 반복한다. 코드 public void graphTraversalBFS(ArrayList graph, int startNode) { ArrayList checkVisit = new ArrayList(); Queue queue = new LinkedList(); queue.add(startNode); while(!queue.isEmpty().. 2021. 7. 22.
[Algorithm] Graph Graph 그래프의 개념을 알아 보고 구현을 해본다. Graph 의 구조 Graph 는 Vertex(Node) 와 Edge 를 가지는 자료 구조이다. Vertex: 정점 Edge: 간선 G(V,E) : 그래프는 정점과 간선으로 이루어져 있다. Adjacent Vertex: 인접정점 으로 하나의 정점과 연결되어 있는 정점을 말한다. 정점 v1 과 V2 가 Edge 로 연결 되어 있다고 하면 다음과 같다. Graph 의 종류 무방향 그래프 방향 그래프 가중치 그래프 무방향 그래프 무방향은 말 그대로 방향이 없는 그래프이다. 위 그래프를 정점과 노드로 표현 하면 다음과 같다. V = {V1, V2, V3, V4, V5} E = {(V1, V2), (V1,V3), (V2,V4), (V2,V5), (V3,V4),.. 2021. 7. 21.
[프로그래머스] 입양 시각 구하기(1) 문제 분석 서브쿼리로 시간을 먼저 핸들링 한다. 그 이후 count 와 정렬 을 수행한다. 코드1 -- 코드를 입력하세요 SELECT TIME, count(TIME) FROM ( SELECT to_char(DATETIME,'HH24') AS TIME FROM ANIMAL_OUTS WHERE to_char(DATETIME,'HH24:MI') BETWEEN '09:00' AND '19:59' ) GROUP BY TIME ORDER BY TIME 코드2 SELECT to_char(DATETIME,'HH24') AS TIME, COUNT(to_char(DATETIME,'HH24')) FROM ANIMAL_OUTS GROUP BY to_char(DATETIME,'HH24') HAVING to_char(DATETI.. 2021. 7. 20.
728x90
반응형