본문 바로가기

알고리즘/문자열 처리

(5)
자바 | 백준 | 12904 | A와 B | 문자열 뒤집기 1. 다 해보기 문자열 뒤집는 방법 StringBuilder의 reverse 이용 import java.io.*; import java.util.*; public class Main { static String S, T; public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); S = br.readLine(); T = br.readLine(); dfs(S); System.out.println(0); } static void dfs(String str) { if (str.length()==T.length()) { if (str..
파이썬 | 백준 | 9935 | 문자열 폭발 solution 1. 파이썬에서 문자열은 값 못 바꿈 → 배열 변환(stack을 이용하였다) 2. 끝의 글자가 같으면 폭발 문자열의 길이만큼 비교하며, 같으면 pop # 9935, 문자열 폭발 import sys s1 = sys.stdin.readline().rstrip() s2 = sys.stdin.readline().rstrip() s1 = list(s1) s2 = list(s2) stack = [] for ch in s1: stack.append(ch) if ch == s2[-1]: for i in range(1, len(s2)+1): if len(stack)
파이썬 | 백준 | 1543 | 문서 검색 solution 1 : replace() 이용 1. 문서에서 검색하려는 단어를 탐색해 특정 문자(*) 로 대체 2. 문서에서 * 갯수 출력 # 1543, 문서 검색 import sys s1 = sys.stdin.readline().rstrip() s2 = sys.stdin.readline().rstrip() s1 = s1.replace(s2, '*') cnt = 0 for ch in s1: if ch == '*': cnt += 1 print(cnt) 29380KB 60ms solutoin 2 : count ()이용 # 1543, 문서 검색 import sys s1 = sys.stdin.readline().rstrip() s2 = sys.stdin.readline().rstrip() print(s1.cou..
파이썬 | 백준 | 4949 | 균형잡힌 세상 solution 1. 스택 이용 # 4949, 균형잡힌 세상 import sys txt = [] # 문자열 입력 while True: str = sys.stdin.readline().rstrip() if str == '.': break txt.append(str) ans = [] # yes, no 저장할 배열 for txt_ in txt: check = 1 # 균형 잡힌 문자열이면 1 stack = [] for i in txt_: if i == '(': stack.append('(') elif i == ')': if len(stack) == 0 or stack[-1] != '(': check = 0 # 균형 잡힌 문자열 X break else: stack.pop() elif i == '[': stack...
파이썬 | 백준 | 10546 | 배부른 마라토너 solution 1. dictionary 이용 2. 첫 번째 나오면 dictionary에 추가, 두 번째 나오면 dictionary에서 삭제 3. 마지막에 dictionary에 남은 이름이 완주하지 못한 참가자 # 10546, 배부른 마라토너 import sys N = int(sys.stdin.readline()) people = {} for _ in range(2*N-1): name = sys.stdin.readline().rstrip() if people.get(name) is None: people[name] = 1 else: del(people[name]) print(*people) 41672KB 208ms 문제 출처 https://www.acmicpc.net/problem/10546 10546번..