본문 바로가기
728x90

브루트포스4

[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]백준 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.
[Java]백준 2529번: 부등호 www.acmicpc.net/problem/2529 2529번: 부등호 두 종류의 부등호 기호 ‘’가 k개 나열된 순서열 A가 있다. 우리는 이 부등호 기호 앞뒤에 서로 다른 한 자릿수 숫자를 넣어서 모든 부등호 관계를 만족시키려고 한다. 예를 들어, 제�� www.acmicpc.net 1. 문제 설명 부등호 (2 2020. 10. 12.
[JAVA]백준 14888번: 연산자 끼워넣기 www.acmicpc.net/problem/14888 1. 문제 설명 숫자와 그 사이에 들어갈 연산자의 개수가 주어질 때 만들 수 있는 식의 최댓값과 최솟값을 구하는 문제이다. 간단하게 재귀함수로 풀 수 있다. 연산자의 개수가 1보다 크고 10보다 작은 입력이 들어오므로 최악의 경우 4^10번의 계산이 필요하나 최악의 경우에도 시간을 통과할 수 있기 때문에 재귀 함수 알고리즘을 사용했다. (같은 연산자라 하더라도 순서에 따라 결과가 다르다고 생각했을 경우가 4^10이므로 실제로는 이보다 더 작을 것이다.) 코드에서는 함수 인자에 ArrayList를 넣어 사용했지만 static 변수로 사용하는 편이 더 좋을 것 같다. 2. 코드 2020. 10. 6.
728x90