본문 바로가기
반응형

백준알고리즘/문자열29

(Python/🥇5)백준알고리즘 2671번: 잠수함식별 문제 바로가기 문제: 시간 제한 메모리 제한 제출 정답 맞힌 사람 정답 비율 1 초 128 MB 6923 2769 2042 40.492% 문제 일반적으로 잠수함 엔진이 작동할 때에 나오는 소리는 잠수함의 종류에 따라서 다르다고 한다. 우리는 물속에서 들리는 소리의 패턴을 듣고서 그 소리가 특정한 잠수함에서 나오는 소리인지 아닌지를 알아내려고 한다. 이 문제에서는 잠수함의 소리가 두 종류의 단위 소리의 연속으로 이루어져 있고, 그 단위 소리를 각각 0과 1로 표시한다. 또, 한 특정한 소리의 반복은 ~로 표시한다. 예를 들어 x~는 x가 한번 이상 반복되는 모든 소리의 집합을 말하고, (xyz)~는 괄호 안에 있는 xyz로 표현된 소리가 한번 이상 반복되는 모든 소리의 집합을 말한다. 다음의 예를 보라. .. 2023. 6. 22.
(Python/PCCP1회 모의고사 1번) 외톨이 알파벳 문제 설명 알파벳 소문자로만 이루어진 어떤 문자열에서, 2회 이상 나타난 알파벳이 2개 이상의 부분으로 나뉘어 있으면 외톨이 알파벳이라고 정의합니다. 문자열 "edeaaabbccd"를 예시로 들어보면, a는 2회 이상 나타나지만, 하나의 덩어리로 뭉쳐있으므로 외톨이 알파벳이 아닙니다. "ede(aaa)bbccd" b, c도 a와 같은 이유로 외톨이 알파벳이 아닙니다. d는 2회 나타나면서, 2개의 부분으로 나뉘어 있으므로 외톨이 알파벳입니다. "e(d)eaaabbcc(d)" e도 d와 같은 이유로 외톨이 알파벳입니다. 문자열 "eeddee"를 예시로 들어보면, e는 4회 나타나면서, 2개의 부분으로 나뉘어 있으므로 외톨이 알파벳입니다. "(ee)dd(ee)" d는 2회 나타나지만, 하나의 덩어리로 뭉쳐있.. 2023. 5. 26.
(Python/🥈5)백준 알고리즘 1316번: 그룹 단어 체커 문제 출처:https://www.acmicpc.net/problem/1316 1316번: 그룹 단어 체커 그룹 단어란 단어에 존재하는 모든 문자에 대해서, 각 문자가 연속해서 나타나는 경우만을 말한다. 예를 들면, ccazzzzbb는 c, a, z, b가 모두 연속해서 나타나고, kin도 k, i, n이 연속해서 나타나기 때 www.acmicpc.net 풀이: n = int(input()) result = n # 처음 결과 갯수는 처음 받은 단어갯수와 동일하게 선언 for i in range(n): word = input() for j in range(0,len(word)-1): if word[j]==word[j+1]: #앞뒤 단어 같으면 pass #패스 elif word[j] in word[j+1:]:.. 2022. 5. 12.
(Python/🥈5)백준 알고리즘 2941번: 크로아티아 알파벳 문제 출처:https://www.acmicpc.net/problem/2941 2941번: 크로아티아 알파벳 예전에는 운영체제에서 크로아티아 알파벳을 입력할 수가 없었다. 따라서, 다음과 같이 크로아티아 알파벳을 변경해서 입력했다. 크로아티아 알파벳 변경 č c= ć c- dž dz= đ d- lj lj nj nj š s= ž z= www.acmicpc.net 풀이: input = input() word = ['c=', 'c-', 'dz=', 'd-', 'lj', 'nj', 's=', 'z='] for i in word: input = input.replace(i,"x") print(len(input)) >>> ljes=njak ljes=njak ljes=njak ljes=njak xes=njak xes=.. 2022. 5. 12.
(Python/🥉2)백준 알고리즘 5622번: 다이얼 문제 출처:https://www.acmicpc.net/problem/5622 5622번: 다이얼 첫째 줄에 알파벳 대문자로 이루어진 단어가 주어진다. 단어의 길이는 2보다 크거나 같고, 15보다 작거나 같다. www.acmicpc.net 풀이: word = input() a=["ABC","DEF","GHI","JKL","MNO","PQRS","TUV","WXYZ"] result = 0 # 합 0선언 for i in range(len(word)): # 입력받은 단어의 길이만큼 for문 for j in a: # a리스트 안에서 포문 한번더 if word[i] in j: # a리스트 안에 해당하는 문자를 찾으면 result += a.index(j) + 3 # 그 해당하는 문자열 인덱스 + 3 print(res.. 2022. 5. 11.
(Python/🥉2)백준 알고리즘 2908번: 상수 문제출처: https://www.acmicpc.net/problem/2908 2908번: 상수 상근이의 동생 상수는 수학을 정말 못한다. 상수는 숫자를 읽는데 문제가 있다. 이렇게 수학을 못하는 상수를 위해서 상근이는 수의 크기를 비교하는 문제를 내주었다. 상근이는 세 자리 수 두 www.acmicpc.net 풀이: a,b= input().split() A = (a[::-1]) B = (b[::-1]) if A > B: print(A) else: print(B) :: 는 증가폭 리스트 전체에서 -1 해준다 ex) 437을 입력받으면 734출력 다른풀이: 내장함수 reversed 함수 사용 (reverse 함수는 내장함수가 아니고 리스트타입에 제공되는 함수) A, B = map(str, input().sp.. 2022. 5. 9.
반응형