목록문자열 (50)
기록방
👉 문제링크 4949번: 균형잡힌 세상 하나 또는 여러줄에 걸쳐서 문자열이 주어진다. 각 문자열은 영문 알파벳, 공백, 소괄호("( )") 대괄호("[ ]")등으로 이루어져 있으며, 길이는 100글자보다 작거나 같다. 각 줄은 마침표(".")로 끝난다 www.acmicpc.net 🔸 문제 분석 🔸 문자열을 처리와 스택 활용이 합쳐져있는 문제이다. 🔸 코드 🔸 import sys input = sys.stdin.readline while(True): ss = input().rstrip() if ss == ".": break stack = [] check = False for c in ss: if c == '(' or c == '[': stack.append(c) elif c == ')': if len(st..
👉 문제링크 9012번: 괄호 괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 ‘(’ 와 ‘)’ 만으로 구성되어 있는 문자열이다. 그 중에서 괄호의 모양이 바르게 구성된 문자열을 올바른 괄호 문자열(Valid PS, VPS)이라고 www.acmicpc.net 🔸 문제 분석 🔸 괄호의 쌍을 확인하는 전형적인 스택 문제이다. 🔸 코드 🔸 T = int(input()) for i in range(T): S = input() arr = S[0] flag = False for j in S[1:]: if j == '(': arr += j else: if len(arr) == 0 or arr[-1] == ')': flag = True break else : arr = arr[:-1] i..
👉 문제링크 12933번: 오리 첫째 줄에 영선이가 녹음한 소리가 주어진다. 소리의 길이는 5보다 크거나 같고, 2500보다 작거나 같은 자연수이고, 'q','u','a','c','k'로만 이루어져 있다. www.acmicpc.net 🔸 문제 분석 🔸 울음소리 "quack"를 확인해야하는데, 여러 사이클이 존재할 수 있다. 불가능한 조합이라면 -1을 출력해야 한다. 🔸 코드 🔸 import sys input = sys.stdin.readline print = sys.stdout.write string = input().rstrip() strs = [] # 오리 별 울음소리 저장 answer = 0 # 오리의 수 done = 0 # 끝난 울음 소리 수 duck = "quack" # 울음소리 한 사이클 fi..
👉 문제링크 17413번: 단어 뒤집기 2 문자열 S가 주어졌을 때, 이 문자열에서 단어만 뒤집으려고 한다. 먼저, 문자열 S는 아래와과 같은 규칙을 지킨다. 알파벳 소문자('a'-'z'), 숫자('0'-'9'), 공백(' '), 특수 문자('')로만 이루어져 www.acmicpc.net 🔸 문제 분석 🔸 입력된 한 줄의 문장을 뒤집어 출력하는 문제이다. 기호로 감싸진 부분은 '태그'이며 뒤집지 않는다. 공백을 구분해 한 단어씩 뒤집는다. 🔸 코드 🔸 import sys str = sys.stdin.readline().rstrip() tag = False answer = "" temp = "" for c in str : if c == '': tag = False answer += c elif c == '..
👉 문제링크 1259번: 팰린드롬수 입력은 여러 개의 테스트 케이스로 이루어져 있으며, 각 줄마다 1 이상 99999 이하의 정수가 주어진다. 입력의 마지막 줄에는 0이 주어지며, 이 줄은 문제에 포함되지 않는다. www.acmicpc.net 🔸 문제 분석 🔸 입력받은 숫자가 앞 뒤로 대칭인지 확인하는 문제이다. 🔸 코드 🔸 #include #include using namespace std; int main(void) { string input; while (true) { cin >> input; if (input == "0") break; bool flag = true; int size = input.length(); for (int i = 0; i < size/2; i++) { if (input[i..