본문 바로가기
반응형

알고리즘/문자열22

[백준][Python] 17609번 회문 17609번: 회문 각 문자열이 회문인지, 유사 회문인지, 둘 모두 해당되지 않는지를 판단하여 회문이면 0, 유사 회문이면 1, 둘 모두 아니면 2를 순서대로 한 줄에 하나씩 출력한다. www.acmicpc.net 코드 import sys def check(word,l,r): while l < r: if word[l] == word[r]: l += 1 r -= 1 else: l_remove = check2(word,l+1,r) r_remove = check2(word,l,r-1) if (l_remove or r_remove): return 1 else: return 2 return 0 def check2(word,l,r): while l < r: if word[l] == word[r]: l += 1 r .. 2022. 6. 30.
[백준][Python] 20291번 파일 정리 20291번: 파일 정리 친구로부터 노트북을 중고로 산 스브러스는 노트북을 켜자마자 경악할 수밖에 없었다. 바탕화면에 온갖 파일들이 정리도 안 된 채 가득했기 때문이다. 그리고 화면의 구석에서 친구의 메시지를 www.acmicpc.net 코드 n = int(input()) dic = {} for _ in range(n): file = input().split('.')[1] if file in dic: dic[file] += 1 else: dic[file] = 1 s_dic = sorted(dic.items()) for i in s_dic: print(i[0],i[1]) 설명 입력 받은 파일 이름을 ' . ' 을 기준으로 나눠서 뒷 부분만 사용했다. 딕셔너리를 만들어서 딕셔너리에 이미 존재하는 확장자이면 .. 2022. 6. 29.
[백준][Python] 9342번 염색체 9342번: 염색체 상근이는 생명과학 연구소에서 염색체가 특정한 패턴인지를 확인하는 일을 하고 있다. 염색체는 알파벳 대문자 (A, B, C, ..., Z)로만 이루어진 문자열이다. 상근이는 각 염색체가 다음과 같은 규칙 www.acmicpc.net 코드 import re t = int(input()) a = re.compile('^[A-F]?A+F+C+[A-F]?$') for _ in range(t): test = input() if a.match(test)==None: print('Good') else: print('Infected!') 설명 정규표현식 사용을 위해 re 모듈을 사용했다. ^ 해당 패턴으로 시작 ? 해당 패턴을 0번또는 1번 $ 해당 패턴으로 끝 + 해당 패턴이 하나 이상 match(.. 2022. 6. 28.
[백준][Python]6550번 부분 문자열 6550번: 부분 문자열 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 한 줄로 이루어져 있으며, 문자열 s 와 t가 빈칸을 사이에 두고 들어온다. s와 t의 길이는 10만을 넘지 않는다. www.acmicpc.net 코드 import sys while(1): test = sys.stdin.readline().rstrip() if not test: break s,t = test.split() cnt = 0 ans = 0 for i in range(len(t)): if s[cnt] == t[i]: cnt += 1 if cnt == len(s): ans = 1 break if ans == 1: print("Yes") else: print("No") 처음에 입력값을 input()으로 받.. 2022. 6. 28.
반응형