본문 바로가기
728x90
반응형

백준/5001 - 1000010

[백준] 9252번 : LCS2(JAVA) https://www.acmicpc.net/problem/9252 9252번: LCS 2 LCS(Longest Common Subsequence, 최장 공통 부분 수열)문제는 두 수열이 주어졌을 때, 모두의 부분 수열이 되는 수열 중 가장 긴 것을 찾는 문제이다. 예를 들어, ACAYKP와 CAPCAK의 LCS는 ACAK가 된다. www.acmicpc.net 풀이 DP[i][j] i = 1번째 문자열 j = 2번째 문자열 이런식으로 비교를 하게 됩니다. dp[i][j] = 1번째 문자열 i번째까지 고려, 2번째 문자열의 j번째까지 고려할 때 만들어 질 수 있는 최장 공통수열의 길이를 구하면 되는 문제입니다. s[i] == s1[j] ? dp[i-1][j-1] + 1 ※ 해설 도움 : raararaara님.. 2021. 11. 4.
[백준] 9063번 : 대지(JAVA) https://www.acmicpc.net/problem/9063 9063번: 대지 입력은 표준입력(standard input)을 통해 받아들인다. 입력의 첫 줄에는 테스트 케이스의 개수 T (1 ≤ T ≤ 20)가 주어진다. 각 테스트 케이스의 첫째 줄에는 점의 개수 N (1 ≤ N ≤ 100,000) 이 주어진다. www.acmicpc.net 풀이 풀이방식으로는 여러가지가 있습니다. 1. 1차원배열 2개를 만들어 정렬하고 (첫배열마지막 - 첫배열처음) * (둘배열마지막 - 둘배열처음) 2. max 2개, min 2개를 만들어 (max1 - min1) * (max2 - min2) 소스코드 1. import java.io.BufferedReader; import java.io.IOException; im.. 2021. 10. 27.
[백준] 5602번 : 問題1(JAVA) https://www.acmicpc.net/problem/5602 5602번: 問題1 1 行目は生 徒の人数 n と旅行候補の場所の数 m が空白で区切られ, i + 1 行に生徒 i のアン ケート結果を ○ は 1 で×は 0 で表し,空白で区切られた m 個の数字が並んでいる. 1 ≤ n ≤ 1000, 1 www.acmicpc.net 풀이 m만큼의 배열을 만들고, n번 입력받으면서 m번째로 들어오는 수가 1이면 ++ 합니다. 맨처음 max는 n이 되므로 max를 줄여가면서 같을 경우 StringBuilder에 추가해 준 후 마지막에 출력해주는식으로 풀면 됩니다. 소스코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStre.. 2021. 8. 21.
[백준] 9996번 : 한국이 그리울 땐 서버에 접속하지(JAVA) https://www.acmicpc.net/problem/9996 9996번: 한국이 그리울 땐 서버에 접속하지 총 N개의 줄에 걸쳐서, 입력으로 주어진 i번째 파일 이름이 패턴과 일치하면 "DA", 일치하지 않으면 "NE"를 출력한다. 참고로, "DA"는 크로아티어어로 "YES"를, "NE"는 "NO"를 의미한다. www.acmicpc.net 풀이 matches를 이용하면 간단하게 풀 수 있습니다. matches : 정규식을 이용한 비교 String 변수를 선언 후 한줄을 입력받고 *이 있을 시 "(.*)"을 입력해줍니다. 그러면 matches에 비교할 수 있게 되는 문자열이 만들어지고 size만큼 문자열을 입력받으면서 체크해줍니다. 소스코드 import java.io.BufferedReader; im.. 2021. 8. 20.
728x90
반응형