본문 바로가기
반응형

전체 글121

[Java][자바][백준][1197번] 최소 스패닝 트리 - 크루스칼 알고리즘 문제 설명 그래프가 주어졌을 때, 그 그래프의 최소 스패닝 트리를 구하는 프로그램을 작성하시오. 최소 스패닝 트리는, 주어진 그래프의 모든 정점들을 연결하는 부분 그래프 중에서 그 가중치의 합이 최소인 트리를 말한다. 입력 첫째 줄에 정점의 개수 V(1 ≤ V ≤ 10,000)와 간선의 개수 E(1 ≤ E ≤ 100,000)가 주어진다. 다음 E개의 줄에는 각 간선에 대한 정보를 나타내는 세 정수 A, B, C가 주어진다. 이는 A번 정점과 B번 정점이 가중치 C인 간선으로 연결되어 있다는 의미이다. C는 음수일 수도 있으며, 절댓값이 1,000,000을 넘지 않는다. 최소 스패닝 트리의 가중치가 -2147483648보다 크거나 같고, 2147483647보다 작거나 같은 데이터만 입력으로 주어진다. 출력.. 2019. 11. 10.
[자바][Java][백준][1157번] 단어 공부 - 탐색 문제 설명 알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다. 입력 첫째 줄에 알파벳 대소문자로 이루어진 단어가 주어진다. 주어지는 단어의 길이는 1,000,000을 넘지 않는다. 출력 첫째 줄에 이 단어에서 가장 많이 사용된 알파벳을 대문자로 출력한다. 단, 가장 많이 사용된 알파벳이 여러 개 존재하는 경우에는 ?를 출력한다. 생각 처음엔 HashMap을 생각하여 푸려고 했다. 각 문자를 탐색하면서 HashMap에 이미 있으면 1을 더하고 아니면 새롭게 1을 넣는 방식을 생각했다. 근데 왜 70퍼에서 실패가 뜨는지 모르겠다.. 몇 번의 실패를 하고나서, 배열로 해결하자고 생각했다. 알파벳이고 대.. 2019. 11. 10.
[Java][자바][백준][1145번] 적어도 대부분의 배수 - 탐색/브루트 포스 문제 설명 다섯 개의 자연수가 있다. 이 수의 적어도 대부분의 배수는 위의 수 중 적어도 세 개로 나누어 지는 가장 작은 자연수이다. 서로 다른 다섯 개의 자연수가 주어질 때, 적어도 대부분의 배수를 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 다섯 개의 자연수가 주어진다. 100보다 작거나 같은 자연수이고, 서로 다른 수이다. 출력 첫째 줄에 적어도 대부분의 배수를 출력한다. 생각 문제만 보니까 이해가 안간다. 30 42 70 35 90 이 있다면 210이 정답이 된다. (30,70,42 의 배수이므로) 푸는 방법은 가장 작은 수를 구해서 1씩 증가시키며 각 수로 나누어서 나누어 떨어지는 수가 3개 이상 되면 바로 출력해주면 된다. 배수이므로 굳이 1부터 시작할 필요가 없다. 입력이 얼마 안되서 S.. 2019. 11. 9.
[Java][자바][백준][1100번] 하얀 칸 문제 설명 체스판은 8*8크기이고, 검정 칸과 하얀 칸이 번갈아가면서 색칠되어 있다. 가장 왼쪽 위칸 (0,0)은 하얀색이다. 체스판의 상태가 주어졌을 때, 하얀 칸 위에 말이 몇 개 있는지 출력하는 프로그램을 작성하시오. 입력 첫째 줄부터 8개의 줄에 체스판의 상태가 주어진다. ‘.’은 빈 칸이고, ‘F’는 위에 말이 있는 칸이다. 출력 첫째 줄에 문제의 정답을 출력한다. 생각 문자열 처리와 좌표를 생각하면 되는 문제이다. (0,0)이 하얀색이므로 (0,2) , (0,4) , (0,6) 이 하얀 칸이 될 것이다. 또한 (1,1) , (1,3) , (1,5) (1,7) 이 하얀 칸이 될 것이다. 각 행이 번갈아가면서 반복되므로 홀수행, 짝수행을 나누어서 처리해줘도 된다. 하지만 나는 각 좌표의 합이 짝수.. 2019. 11. 8.
반응형