분류 전체보기
-
[프로그래머스] 스티커모으기(2) Java풀이문제풀이/프로그래머스 2021. 12. 7. 01:46
이 글은 혼자 학습한 내용을 바탕으로 작성되었습니다.틀리거나 잘못된 정보가 있을 수 있습니다.댓글로 알려주시면 수정하도록 하겠습니다.1. 문제N개의 스티커가 원형으로 연결되어 있습니다. 다음 그림은 N = 8인 경우의 예시입니다.원형으로 연결된 스티커에서 몇 장의 스티커를 뜯어내어 뜯어낸 스티커에 적힌 숫자의 합이 최대가 되도록 하고 싶습니다. 단 스티커 한 장을 뜯어내면 양쪽으로 인접해있는 스티커는 찢어져서 사용할 수 없게 됩니다.예를 들어 위 그림에서 14가 적힌 스티커를 뜯으면 인접해있는 10, 6이 적힌 스티커는 사용할 수 없습니다. 스티커에 적힌 숫자가 배열 형태로 주어질 때, 스티커를 뜯어내어 얻을 수 있는 숫자의 합의 최댓값을 return 하는 solution 함수를 완성해 주세요. 원형의 ..
-
[알고리즘] Floyd Warshall알고리즘 2021. 12. 4. 21:21
이 글은 혼자 학습한 내용을 바탕으로 작성되었습니다. 틀리거나 잘못된 정보가 있을 수 있습니다. 댓글로 알려주시면 수정하도록 하겠습니다. 1. floyd warshall 알고리즘이란? 음의 사이클이 없는 그래프에서 모든 정점에서 다른 모든 정점으로의 최단 거리를 구하는 알고리즘 이며 음의 간선이 존재하여도 최단 거리를 구할 수 있습니다. 또한 floyd warshall 알고리즘은 경유하는 정점을 기준으로 최단거리를 구해나가는 알고리즘 입니다. 2. Dijkstra VS floyd warshall floyd warshall알고리즘과 Dijkstra 알고리즘은 유사 하지만 조금씩의 차이점이 있습니다. Dijkstra는 특정 정점에서의 최단 거리를 구하는 알고리즘이고 floyd warshall은 모든 정점의 ..
-
[알고리즘] Dijkstra 알고리즘알고리즘 2021. 12. 4. 03:02
이 글은 혼자 학습한 내용을 바탕으로 작성되었습니다. 틀리거나 잘못된 정보가 있을 수 있습니다. 댓글로 알려주시면 수정하도록 하겠습니다. 1. Dijkstra 알고리즘이란? 음의 가중치(비용)이 없는 그래프에서 특정 한 노드에서 다른 모든 노드까지의 최단거리를 구하는 알고리즘을 말합니다. 다익스트라 알고리즘은 그리디와 다이나믹 프로그래밍 방법을 사용하여 구현합니다. 다익스트라는 시작 노드에서 아직 방문하지 않은 노드들 중 최단거리 노드를 선택 합니다. (그리디 기법) 다익스트라는 시작 노드에서 갈 수 있는 노드들을 방문하면서 비용이 최소면 갱신합니다. (다이나믹 프로그래밍 기법) 위 2가지 방법을 반복하여 특정 노드에서 나머지 모든 노드로 가는 최단거리를 구하는 알고리즘 입니다. 2. 알고리즘 방법 그래..
-
[프로그래머스] 모음사전 Java 풀이문제풀이/프로그래머스 2021. 12. 3. 02:50
이 글은 혼자 학습한 내용을 바탕으로 작성되었습니다. 틀리거나 잘못된 정보가 있을 수 있습니다. 댓글로 알려주시면 수정하도록 하겠습니다. 1. 문제 사전에 알파벳 모음 'A', 'E', 'I', 'O', 'U'만을 사용하여 만들 수 있는, 길이 5 이하의 모든 단어가 수록되어 있습니다. 사전에서 첫 번째 단어는 "A"이고, 그다음은 "AA"이며, 마지막 단어는 "UUUUU"입니다. 단어 하나 word가 매개변수로 주어질 때, 이 단어가 사전에서 몇 번째 단어인지 return 하도록 solution 함수를 완성해주세요. 2. 입력 word의 길이는 1 이상 5 이하입니다. word는 알파벳 대문자 'A', 'E', 'I', 'O', 'U'로만 이루어져 있습니다. 3. 예제 word result "AAAAE..
-
[알고리즘] Kruskal 알고리즘알고리즘 2021. 12. 2. 14:53
이 글은 혼자 학습한 내용을 바탕으로 작성되었습니다. 틀리거나 잘못된 정보가 있을 수 있습니다. 댓글로 알려주시면 수정하도록 하겠습니다. 1. Kruskal 알고리즘이란 그래프의 간선에 비용이 있는 경우 해당 그래프이 모든 정점을 연결하는 최소 비용으로 연결하는 최소비용 신장트리를 찾는 알고리즘 입니다. 신장트리 그래프의 모든 정점을 포함하고 정점들은 간선으로 연결되어 있으면서 사이클이 존재하지 않는 그래프를 말합니다. 위 이미지의 그래프가 그래프의 신장트리가 됩니다. 수많은 신장트리 중에서 연결된 간선의 비용이 최소가 되는 신장트리를 바로 최소비용 신장트리라고 하며 Kruskal 알고리즘을 통해 해당 그래프를 찾을 수 있습니다. 2. Kruskal 알고리즘 고려사항 최소 비용의 간선을 선택하는 과정을 ..
-
[프로그래머스] 거스름돈 Java 풀이문제풀이/프로그래머스 2021. 11. 25. 14:16
이 글은 혼자 학습한 내용을 바탕으로 작성되었습니다. 틀리거나 잘못된 정보가 있을 수 있습니다. 댓글로 알려주시면 수정하도록 하겠습니다. 1. 문제 Finn은 편의점에서 야간 아르바이트를 하고 있습니다. 야간에 손님이 너무 없어 심심한 Finn은 손님들께 거스름돈을 n 원을 줄 때 방법의 경우의 수를 구하기로 하였습니다. 예를 들어서 손님께 5원을 거슬러 줘야 하고 1원, 2원, 5원이 있다면 다음과 같이 4가지 방법으로 5원을 거슬러 줄 수 있습니다. 1원을 5개 사용해서 거슬러 준다. 1원을 3개 사용하고, 2원을 1개 사용해서 거슬러 준다. 1원을 1개 사용하고, 2원을 2개 사용해서 거슬러 준다. 5원을 1개 사용해서 거슬러 준다. 거슬러 줘야 하는 금액 n과 Finn이 현재 보유하고 있는 돈의 ..
-
[CI-CD] Jenkins GitHub Repository 연동하기CI-CD 2021. 11. 24. 00:40
이 글은 혼자 학습한 내용을 바탕으로 작성되었습니다. 틀리거나 잘못된 정보가 있을 수 있습니다. 댓글로 알려주시면 수정하도록 하겠습니다. 이번 글에서는 Jenkins와 GitHub의 Repository를 연동하는 방법을 포스팅 하고자 합니다. 1. Jenkins GitHub Server 설정 Jenkins에 로그인 후 Menu에서 새로운 Jenkins관리를 클릭하여 Jenkins관리 화면으로 이동 합니다. 이후 시스템 설정 Menu로 이동 합니다. 화면 중간에 있는 GitHub 항목에서 Name은 사용자가 원하는 이름을 입력 하고 API URL에는 https://api.github.com을 입력한 뒤 아래 저장 버튼을 클릭하여 GitHub Server 설정을 저장 합니다. 2. GitHub Reposit..
-
[프로그래머스] 멀리 뛰기 Java 풀이문제풀이/프로그래머스 2021. 11. 23. 02:58
이 글은 혼자 학습한 내용을 바탕으로 작성되었습니다. 틀리거나 잘못된 정보가 있을 수 있습니다. 댓글로 알려주시면 수정하도록 하겠습니다. 1. 문제 효진이는 멀리 뛰기를 연습하고 있습니다. 효진이는 한 번에 1칸, 또는 2칸을 뛸 수 있습니다. 칸이 총 4개 있을 때, 효진이는 (1칸, 1칸, 1칸, 1칸) (1칸, 2칸, 1칸) (1칸, 1칸, 2칸) (2칸, 1칸, 1칸) (2칸, 2칸) 의 5가지 방법으로 맨 끝 칸에 도달할 수 있습니다. 멀리뛰기에 사용될 칸의 수 n이 주어질 때, 효진이가 끝에 도달하는 방법이 몇 가지인지 알아내, 여기에 1234567을 나눈 나머지를 리턴하는 함수, solution을 완성하세요. 예를 들어 4가 입력된다면, 5를 return 하면 됩니다. 2. 입력 n은 1 이..