728x90 분류 전체보기129 [JAVA]백준 1057번: 토너먼트 www.acmicpc.net/problem/1057 1057번: 토너먼트 김지민은 N명이 참가하는 스타 토너먼트에 진출했다. 토너먼트는 다음과 같이 진행된다. 일단 N명의 참가자는 번호가 1번부터 N번까지 배정받는다. 그러고 난 후에 서로 인접한 번호끼리 스타를 www.acmicpc.net 1. 문제 설명 토너먼트에 참여한 김지민의 번호와 임한수의 번호가 주어졌을 때 김지민과 임한수가 대결하는 라운드 번호를 출력한다. N이 짝수이면 다음 라운드에서 번호가 N/2가 되고, N이 홀수이면 다음 라운드에서 번호가 N/2+1가 되는 성질을 이용해서 N/2+N%2를 다음 번호로 설정했다. 만약 김지민과 임한수의 다음 번호가 같다면 현재 라운드에서 만난다. 2. 코드 import java.lang.reflect.A.. 2020. 11. 14. [JAVA]백준 9996번: 한국이 그리울 땐 서버에 접속하자 www.acmicpc.net/problem/9996 9996번: 한국이 그리울 땐 서버에 접속하지 총 N개의 줄에 걸쳐서, 입력으로 주어진 i번째 파일 이름이 패턴과 일치하면 "DA", 일치하지 않으면 "NE"를 출력한다. 참고로, "DA"는 크로아티어어로 "YES"를, "NE"는 "NO"를 의미한다. www.acmicpc.net 1. 문제 설명 주어진 패턴과 일치하는 문자열인지 아닌지 확인하면 된다. *을 기준으로 앞 문자열과 뒷 문자열로 나눈다. 그 후 첫 번째, 새로 입력받은 문자열이 기준 문자열에서 *을 뺀 길이보다 짧은지 확인한다. 만약 짧다면, 이는 패턴이 일치하지 않는 것이기에 NE를 출력하면 된다. 두 번째는, 앞에서 자른 기준 문자열의 앞 문자열, 뒷 문자열과 새로 입력받은 문자열이 일치.. 2020. 11. 5. [JAVA]백준 1058번: 친구 www.acmicpc.net/problem/1058 1058번: 친구 지민이는 세계에서 가장 유명한 사람이 누구인지 궁금해졌다. 가장 유명한 사람을 구하는 방법은 각 사람의 2-친구를 구하면 된다. 어떤 사람 A가 또다른 사람 B의 2-친구가 되기 위해선, 두 사람 www.acmicpc.net 1. 문제 설명 가장 2-친구의 수가 많은 사람의 2-친구수를 구한다. 2-친구란 두 사람이 친구이거나, A와 친구이고 B와 친구인 친구 C가 존재할 경우 A와 B는 2-친구라고 한다. 첫 번째 코드는 플로이드 와샬 알고리즘을 사용했다. O(n^3)의 시간 복잡도를 가지며 모든 꼭짓점 사이의 최단 경로를 구하는 알고리즘이다. 두 번째 코드는 플로이드 와샬 알고리즘에 대한 지식 없이 처음 문제를 풀었을 때 짠 코드이.. 2020. 11. 4. [JAVA]백준 1145번: 적어도 대부분의 배수 www.acmicpc.net/problem/1145 1145번: 적어도 대부분의 배수 첫째 줄에 다섯 개의 자연수가 주어진다. 100보다 작거나 같은 자연수이고, 서로 다른 수이다. www.acmicpc.net 1. 문제 설명 5개의 정수가 주어졌을 때 그중 3개의 정수로 나누어지는 가장 작은 배수를 구하는 문제이다. 첫 번째 코드는 가능한 제일 작은 배수 4에서부터 가장 큰 배수 950600(100*98*97)까지 1씩 증가해가면서 3개 이상으로 나누어지는 수가 있는지 구하는 코드이다. 두 번째 코드는 3개씩 쌍을 만들어 3개의 최소공배수를 구하고 3개의 최소공배수의 최솟값을 찾는 방법이다. 첫 번째 코드가 더 효율적인 코드인 것 같다. 2. 코드 import java.lang.reflect.Array.. 2020. 11. 4. 이전 1 ··· 22 23 24 25 26 27 28 ··· 33 다음 728x90