본문 바로가기
728x90

알고리즘118

[JAVA]백준 4641번: Doubles www.acmicpc.net/problem/4641 4641번: Doubles 2~15개의 서로 다른 자연수로 이루어진 리스트가 있을 때, 이들 중 리스트 안에 자신의 정확히 2배인 수가 있는 수의 개수를 구하여라. 예를 들어, 리스트가 "1 4 3 2 9 7 18 22"라면 2가 1의 2배, 4가 2의 www.acmicpc.net 1. 문제 설명 리스트가 주어질때 리스트 안에 자신의 정확히 2배인 수가 있는 수의 개수를 구하는 문제 완전탐색으로 구했다. 2. 코드 import java.lang.reflect.Array; import java.util.ArrayList; import java.util.Arrays; import java.util.Scanner; public class Main { publ.. 2020. 11. 14.
[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.
728x90