본문 바로가기
반응형

문자열6

[백준] 1662번 - 압축 (Java) 문자열을 순차탐색해서 ')'가 나올 때까지 계속 스택에 저장한다. ')'를 만나면 스택에 저장했던 문자들을 하나씩 꺼낸다. '('를 만나면 꺼낸 문자들을 문자열로 만들어서 괄호 앞의 숫자만큼 루프를 돌려서 문자열에 머지한다. 이걸 반복해서 괄호안의 문자들을 모두 정리한 후 남은 문자열을 다시 붙여서 최종 길이를 출력한다. import java.util.Scanner; import java.io.IOException; import java.util.Stack; import java.lang.StringBuilder; //[백준] 1662번 - 압축 (Java) public class Main { static char ch[]; static int str_len = 0; public void InputDat.. 2022. 9. 30.
[백준] 9935번 - 문자열 폭발 (Java) 1. 문자열을 폭발문자열로 split 한 다음 머지하자. 2. 머지한 문자열을 다시 재귀호출하자. 2-1. 문자열에서 폭발문자열이 없으면 문자열 리턴 2-1. 문자열의 사이즈가 0이면 "FRULA"리턴 import java.util.*; import java.io.*; /* [백준] 9935번 - 문자열 폭발 (Java) */ public class Main { static String str, bom; void InputData() { Scanner in = new Scanner(System.in); str = in.next(); bom = in.next(); } String DFS(String s) { if (!s.contains(bom)) { if (s.length() == 0) return "FR.. 2022. 9. 21.
[백준] 14490번 - 백대열 (Java) 문자열을 split 해서 분리하는 것과 최대공약수를 구하는 법을 알아야 한다. 최대공약수는 유클리드 호제법을 이용해서 구현했다. import java.util.*; import java.io.*; /* [백준] 14490번 - 백대열 (Java) */ public class Main { static int N, number; static int A[]; void InputData() { Scanner in = new Scanner(System.in); //N = in.nextInt(); String str = in.next(); String s[] = str.split(":"); A = new int[2]; for (int i=0; i 2022. 9. 21.
[백준] 11720번 - 숫자의 합 (Java) (방법 #1) 숫자가 문자열 한개로 입력된다. 입력 받은 문자열을 char 배열로 잘라서 정수형 배열에 나눠 담아야 한다. 나눠담은 정수형 배열을 순차적으로 더하면 된다. (방법 #2) 정수 하나로 받아서 MOD를 사용해서 각 자리수를 계산할 수 있다. import java.util.*; import java.io.*; /* [백준] 11720번 - 숫자의 합 (Java) */ public class Main { static int N, number; static int A[]; void InputData() { Scanner in = new Scanner(System.in); N = in.nextInt(); String str = in.next(); A = new int[N]; for (int i=0; i 2022. 9. 21.
문자열 입력 처리 방법 1. 문자열에서 (-) 기호를 기준으로 분리하고, 그 토큰은 (+)를 기준으로 다시 분리할 때 a. 입력받은 문자열은 - 기준으로 분리한다. b. 자른 토큰들을 + 기준으로 다시 분리한다. c. 자른 토큰들을 정구형으로 캐스팅해서 합친다. str = in.next(); String[] sub = str.split("-"); // -로 문자열을 자른다. for (int i=0; i 2022. 9. 19.
[백준] 1541번 - 잃어버린 괄호 (Java) 1. 첫번째 수는 무조건 양수가 온다고 했으니 그 수에서 뺀값이 가장 작으려면 뒤에 -가 붙는 수가 가장 큰수여야 한다. 2. - 기호가 나오면 그 뒤로 나오는 수들을 모두 더해서 음수로 된 최대값을 만들어야 한다. 3. - 기호가 나오기 전까지의 숫자는 계속 더해주다가 - 기호가 나오면 거기서 괄호를 쳐서 모두 더해서 빼면 된다. ex) 55-50+40 = 55 - (50 + 40) = 55 - 90 = -35 10+55-50+40 = 10+55 - (50+40) = 65 - 90 = -25 1. 3개의 구현이 필요하다. 1-1. 입력 받은 문자열을 -를 기준으로 잘라서 문자열 배열에 담는 작업 1-2. 자른 문자열을 +를 기준으로 수를 뽑아내어서 더하는 작업 1-3. 각 취합된 수를 빼는 작업 2. .. 2022. 9. 19.
반응형