1. 문제 출처 https://www.acmicpc.net/problem/1316 1316번: 그룹 단어 체커 그룹 단어란 단어에 존재하는 모든 문자에 대해서, 각 문자가 연속해서 나타나는 경우만을 말한다. 예를 들면, ccazzzzbb는 c, a, z, b가 모두 연속해서 나타나고, kin도 k, i, n이 연속해서 나타나기 때 www.acmicpc.net 2. 풀이 단순 구현 문제이다 # 입력 n = int(input()) strings = [] for _ in range(n): strings.append(input()) def solution(): # 결과값 result = 0 # 문자열 하나씩 확인 for string in strings: flag = True # 각 문자 c = string[0..
1. 문제 출처 https://www.acmicpc.net/problem/2941 2941번: 크로아티아 알파벳 예전에는 운영체제에서 크로아티아 알파벳을 입력할 수가 없었다. 따라서, 다음과 같이 크로아티아 알파벳을 변경해서 입력했다. 크로아티아 알파벳 변경 č c= ć c- dž dz= đ d- lj lj nj nj š s= ž z= www.acmicpc.net 2. 풀이 문자열을 이용한 단순 구현 문제이다.. # 크로아티아 문자 리스트 3글자인 것을 빼었다. cro_list =\ ["c=", "c-", "d-", "lj", "nj", "s=", "z="] # 입력 string = input() length = len(string) total_count = length idx = 0 # index가 l..
1. 문제 출처 https://www.acmicpc.net/problem/1254 1254번: 팰린드롬 만들기 동호와 규완이는 212호에서 문자열에 대해 공부하고 있다. 규완이는 팰린드롬을 엄청나게 좋아한다. 팰린드롬이란 앞에서부터 읽으나 뒤에서부터 읽으나 같게 읽히는 문자열을 말한다. 동호는 www.acmicpc.net 2. 풀이 파이썬의 slice 기능을 이용하면 간단하게 해결할 수 있다. s = input() # 전체 문자열을 역순으로 한 것과 문자열이 일치하면 이미 팰린드롬 문자열 이므로 # 문자열의 길이를 출력한다. if s == s[::-1]: print(len(s)) # 아닌 경우 else: # 최악의 경우의 수는 마지막 문자를 기준으로 앞뒤를 같게 하는 경우 이므로 # 최대 문자열의 전체 ..
1. 문제 출처 https://www.acmicpc.net/problem/9996 9996번: 한국이 그리울 땐 서버에 접속하지 총 N개의 줄에 걸쳐서, 입력으로 주어진 i번째 파일 이름이 패턴과 일치하면 "DA", 일치하지 않으면 "NE"를 출력한다. 참고로, "DA"는 크로아티어어로 "YES"를, "NE"는 "NO"를 의미한다. www.acmicpc.net 2. 풀이 2가지 방법이 존재한다. 1. 정규 표현식 미사용 # 테스트 케이스 개수 받기 N = int(input()) # 패턴 받은 후 *을 기준으로 자른다. pattern = input().split("*") # 패턴의 길이 구하기 pattern_len = len(pattern[0])+len(pattern[1]) def check(): # 결과..