본문 바로가기

문자열7

[Java] BOJ 9935번 문자열 폭발 9935번: 문자열 폭발 첫째 줄에 문자열이 주어진다. 문자열의 길이는 1보다 크거나 같고, 1,000,000보다 작거나 같다. 둘째 줄에 폭발 문자열이 주어진다. 길이는 1보다 크거나 같고, 36보다 작거나 같다. 두 문자열은 모 www.acmicpc.net 풀이 스택을 사용하여 해결했습니다. 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Stack; public class Main { public static String input, explosive; public static void main(String[] args) throws IOExcep.. 2021. 8. 22.
[Java] BOJ 5582번 공통 부분 문자열 5582번: 공통 부분 문자열 두 문자열이 주어졌을 때, 두 문자열에 모두 포함된 가장 긴 공통 부분 문자열을 찾는 프로그램을 작성하시오. 어떤 문자열 s의 부분 문자열 t란, s에 t가 연속으로 나타나는 것을 말한다. 예를 들 www.acmicpc.net 풀이 DP를 사용하여 해결했습니다. 문제에서 나온 1번 예시를 풀어보면 ABRACA~ 를 S1이라 하고 인덱스는 i, ECADA~ 를 S2라 하고 인덱스는 j라고 한다면 S1[i] == S2[j]라면 이전까지 연속되는 부분 문자열에 새로 공통된 문자가 들어가므로 S1과 S2에 공통되는 이전 문자인 memo[i -1][j - 1]에 저장된 길이에 + 1을 하여 즉, memo[i -1][j - 1] + 1을 현재 위치에서 공통되는 연속된 부분 문자열인 m.. 2021. 7. 13.
[Java] KMP 알고리즘 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class KMP { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); char[] text = br.readLine().toCharArray(); char[] pattern = br.readLine().toCharArray(); int tLength = text.length; int pLength = pattern.length; int[] .. 2021. 4. 28.
[Java] SWEA 3143번 가장 빠른 문자열 타이핑 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 풀이 정규표현식을 이용해 A에서 B에 해당하는 문자를 "c"라는 한글자로 바꾸었고 바뀐 A의 길이를 출력하여 해결했습니다. 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Solution { public static String A, B; public static void main(String[] args) throws IOException { Buffered.. 2021. 4. 12.
[Java] 문자열을 한 글자씩 자르고 다시 합치기 String의 split()과 join()을 사용합니다. input_s = "gfedcba"; // 한 글자씩 자른다 String[] arr = input_s.split(""); /* arr = {"g", "f", "e", "d", "c", "b", "a"} */ // 사전순으로 정렬한다. Arrays.sort(arr); /* arr = {"a", "b", "c", "d", "e", "f", "g"} */ // 다시 문자열로 합친다. String str = String.join("", arr); /* str = "abcdefg" */ 2021. 3. 30.
[Python] 정규표현식 (계속 추가예정) 사용하고자하는 정규표현식을 문자열에 미리저장해서 complie()에 사용이 가능! import re # .은 어떤 문자열도 상관없다는 의미 # *은 몇 개가 와도 상관없다는 의미 # ., *을 따로따로 적용이 가능 s = ".*X.*Y.*" p = re.compile(s) m = p.match("asdaXWYgsdg") if m: print("ㅇㅇ") else: print("ㄴㄴ") # 결과 # ㅇㅇ re.findall을 사용하여 정규표현식에 해당하는 모든 값을 찾을 수 있다. import re # \D+는 숫자가 아닌 문자로 반복되는 모든 문자를 의미 # 반대로 \d+는 숫자인 문자로 반복되는 모든 문자 # 문자열이 아닌 변수가 올 수 있다. find_list = re.findall('\D+', "th.. 2021. 3. 14.