본문 바로가기

Algorithm

(172)
[2018 KAKAO BLIND RECRUITMENT][구현] 뉴스 클러스터링 - Java 문제 바로가기 코딩테스트 연습 - [1차] 뉴스 클러스터링 뉴스 클러스터링 여러 언론사에서 쏟아지는 뉴스, 특히 속보성 뉴스를 보면 비슷비슷한 제목의 기사가 많아 정작 필요한 기사를 찾기가 어렵다. Daum 뉴스의 개발 업무를 맡게 된 신입사원 튜브 programmers.co.kr 문자열 두 개가 주어졌을 때 두 문자열의 "자카드 유사도"를 구하는 문제입니다. Map을 사용해서 간단하게 구현했습니당 ㅎ.ㅎ import java.util.*; class Solution { public int solution(String str1, String str2) { int intersection = 0, union = 0; // 대소문자 구별 X str1 = str1.toLowerCase(); str2 = str2..
[2018 KAKAO BLIND RECRUITMENT][구현] 추석 트래픽 - Java 문제 바로가기 코딩테스트 연습 - [1차] 추석 트래픽 입력: [ 2016-09-15 20:59:57.421 0.351s, 2016-09-15 20:59:58.233 1.181s, 2016-09-15 20:59:58.299 0.8s, 2016-09-15 20:59:58.688 1.041s, 2016-09-15 20:59:59.591 1.412s, 2016-09-15 21:00:00.464 1.466s, 2016-09-15 21:00:00.741 1.581s, 2016-09-15 21:00:00.748 programmers.co.kr 2018 카카오 블라인드 채용 문제입니다. 스읍... 상당히 까다롭습니다,,, import java.text.ParseException; import java.text.Sim..
[BOJ-2023][백트래킹] 신기한 소수 - Java 문제 바로가기 2023번: 신기한 소수 수빈이가 세상에서 가장 좋아하는 것은 소수이고, 취미는 소수를 가지고 노는 것이다. 요즘 수빈이가 가장 관심있어 하는 소수는 7331이다. 7331은 소수인데, 신기하게도 733도 소수이고, 73도 소수 www.acmicpc.net N 자리 신기한 소수들을 구하는 문제입니다. 신기한 소수란 왼쪽부터 1자리, 2자리, ... , N자리 수 모두 소수인 수입니다. 신기하긴 한데 소수를 갖고 논다니 수빈이도 정상은 아닙니다 import java.io.*; import java.util.*; public class Main { static int N; static List num = new ArrayList(); public static void main(String[] ..
[BOJ-1941][백트래킹/BFS] 소문난 칠공주 - Java 문제 바로가기 1941번: 소문난 칠공주 총 25명의 여학생들로 이루어진 여학생반은 5*5의 정사각형 격자 형태로 자리가 배치되었고, 얼마 지나지 않아 이다솜과 임도연이라는 두 학생이 두각을 나타내며 다른 학생들을 휘어잡기 시작 www.acmicpc.net 다솜파인 소문난 칠공주가 되는 경우의 수를 구하는 문제입니다. 친하게 좀 지내지ㅣ;; import java.io.*; import java.util.*; public class Main { static class Dir{ int y, x; Dir(int y, int x){ this.y = y; this.x = x; } } static char[][] seat = new char[5][5]; static Map map = new HashMap(); //..
[BOJ-1922][MST] 네트워크 연결 - Java 문제 바로가기 1922번: 네트워크 연결 이 경우에 1-3, 2-3, 3-4, 4-5, 4-6을 연결하면 주어진 output이 나오게 된다. www.acmicpc.net 컴퓨터와 컴퓨터를 연결하는 네트워크... MST 임니당. import java.io.*; import java.util.*; public class Main { static class Node implements Comparable { int to, weight; Node(int to, int weight){ this.to = to; this.weight = weight; } public int compareTo(Node o) { return this.weight - o.weight; } } static List[] graph; stat..
[BOJ-2606][BFS] 바이러스 - Java 문제 바로가기 2606번: 바이러스 첫째 줄에는 컴퓨터의 수가 주어진다. 컴퓨터의 수는 100 이하이고 각 컴퓨터에는 1번 부터 차례대로 번호가 매겨진다. 둘째 줄에는 네트워크 상에서 직접 연결되어 있는 컴퓨터 쌍의 수가 주어 www.acmicpc.net 1번 컴퓨터덕분에 바이러스에 걸리는 애들의 수를 구하는 문제입니다. 아아아주 기본적인 BFS 문젭니당. import java.io.*; import java.util.*; public class Main { static List[] graph; static int N, M; public static void main(String[] args) throws IOException { input(); System.out.println(bfs(1)); } pu..
[해시] 베스트앨범 - Java 문제 바로가기 코딩테스트 연습 - 베스트앨범 스트리밍 사이트에서 장르 별로 가장 많이 재생된 노래를 두 개씩 모아 베스트 앨범을 출시하려 합니다. 노래는 고유 번호로 구분하며, 노래를 수록하는 기준은 다음과 같습니다. 속한 노래가 programmers.co.kr 해시를 쓰는 문제입니다. 문제 유형에 아예 해시라고 돼있어서 좀 아쉽네여 ^;^ import java.util.*; class Solution { public Integer[] solution(String[] genres, int[] plays) { List answer = new ArrayList(); Map sum = new TreeMap(); Map list = new HashMap(); for (int i = 0; i < genres.le..
[BOJ-1197][MST] 최소 스패닝 트리 - Java 문제 바로가기 1197번: 최소 스패닝 트리 첫째 줄에 정점의 개수 V(1 ≤ V ≤ 10,000)와 간선의 개수 E(1 ≤ E ≤ 100,000)가 주어진다. 다음 E개의 줄에는 각 간선에 대한 정보를 나타내는 세 정수 A, B, C가 주어진다. 이는 A번 정점과 B번 정점이 www.acmicpc.net 최소 스패닝 트리를 구하는 문제입니다. 크루스칼이나 프림 알고리즘을 사용하면 되겠져. import java.io.*; import java.util.*; public class Main { static class Node{ int to, weight; Node(int to, int weight){ this.to = to; this.weight = weight; } } static int V, E; st..