본문 바로가기

분류 전체보기237

모각코 4회차 활동 내용 정리 목표 : 알고리즘 문제 풀고 블로그에 정리하기 https://ethereal-coder.tistory.com/76 코드트리 [자바 java] 그래프 탐색 https://www.codetree.ai/missions/2/problems/graph-traversal/description 코드트리 | 코딩테스트 준비를 위한 알고리즘 정석 국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국 ethereal-coder.tistory.com https://www.codetree.ai/missions/2/problems/graph-traversal/description 코드트리 | 코딩테스트 준비를 위한 알고리즘 정석 국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테.. 2023. 7. 27.
코드트리 [자바 java] 그래프 탐색 https://www.codetree.ai/missions/2/problems/graph-traversal/description 코드트리 | 코딩테스트 준비를 위한 알고리즘 정석 국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표가 엄선한 커리큘럼으로 준비해보세요. www.codetree.ai 정점과 간선이 주어지고, 1에서 출발해서 도착할 수 있는 정점을 구하는 문제이다. 처음에는 유니온파인드로 풀어야하나 했지만, 생각해보니 dfs로 탐색하고, 방문한 수로 같은 그래프에 해당하는 정점의 갯수를 구하는게 더 빨랐다. 리스트를 이용해서 각 정점과 연결되어있는 정점들을 저장했고, 1번리스트에 있는 정점들부터 stack에 차례로 쌓으면서 dfs를 수행했다. import j.. 2023. 7. 27.
코드트리 [자바 java] k개 중에 1개를 n번 뽑기 https://www.codetree.ai/missions/2/problems/n-permutations-of-k-with-repetition/description 코드트리 | 코딩테스트 준비를 위한 알고리즘 정석 국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표가 엄선한 커리큘럼으로 준비해보세요. www.codetree.ai 이 문제는 두 수가 주어지면 차례대로 순열을 만들어서 출력하는 프로그램이다. 알고리즘 풀 때 많이 사용되는 개념인데, 매번 풀 때마다 헷갈리는 것 같다. 문제의 조건에 따라 따져야 할 것이 많은데, 이 문제는 중복을 허용하고, 오름차순, 내림차순에 대한 기준이 없다. 따라서 재귀함수에서 for문을 돌 때 현재 i의 값을 넘겨주지 않아도 되고(.. 2023. 7. 26.
백준 [java 자바] 9084 : 동전 https://www.acmicpc.net/problem/9084 9084번: 동전 우리나라 화폐단위, 특히 동전에는 1원, 5원, 10원, 50원, 100원, 500원이 있다. 이 동전들로는 정수의 금액을 만들 수 있으며 그 방법도 여러 가지가 있을 수 있다. 예를 들어, 30원을 만들기 위해서는 www.acmicpc.net 이 문제를 보자마자 언젠가 풀었던 문제인 것 같은데? 라는 생각이 들긴 했다. dp를 사용하고, 점화식을 구해서 풀어야 한다는 것 까지는 알아냈지만 여기서 어떻게 해야 할지 도저히 감이 잡히지 않아서 사람들의 풀이법을 검색해서 배웠다. 일단 풀이법을 그림으로 정리해보았다. 글씨가 정말 별로지만, 이해하는데는 확실히 도움이 되었다. 일단, 동전의 수가 주어지고 동전의 액수가 들어오면.. 2023. 7. 25.
알고리즘 특강 2일차 : Simulation simulation이란? : 문제가 시키는 규칙을 원하는 대로 그대로 실현하는 것 완전탐색 모든 경우의 수를 탐색하는 방법(ex : 자물쇠의 비밀번호를 알기 위해 000 부터 999까지 다 해본다.) 문제를 풀 수 있는 가장 확실한 방법. 시간이 오래걸린다는 단점이 있다. import java.io.*; import java.util.*; import java.math.*; public class Main { public static void main(String[] args) throws IOException{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int n = Integer.parseInt(br.readLi.. 2023. 7. 25.
코드트리 [자바 java] 숫자가 가장 큰 인접한 곳으로 동시에 이동 https://www.codetree.ai/missions/2/problems/move-to-max-adjacent-cell-simultaneously/description 코드트리 | 코딩테스트 준비를 위한 알고리즘 정석 국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표가 엄선한 커리큘럼으로 준비해보세요. www.codetree.ai 배열에 있는 수들과 그 곳에 위치한 구슬들이 존재할 때 해당 조건에 맞게 구슬을 움직이고, 마지막에 남은 구슬의 갯수를 구하는 문제이다. 구슬들의 위치를 입력받을 때 이를 다른 배열에 저장해두지 않고, 새로운 격자를 만들어 해당 위치에 1로 표시했는데 이는 구슬이 겹쳐졌을 때 없애는 조치를 취하기 쉽고, 나중에 구슬의 갯수를 셀 때 .. 2023. 7. 25.