문제풀이/문자열

https://www.acmicpc.net/problem/9996코드 (정규표현식)import ren = int(input())pattern = re.compile("^"+input().replace("*", "[a-z]*")+"$")for _ in range(n): string = input() if pattern.match(string): print("DA") else: print("NE") 입력된 패턴을 정규표현식으로 바꾸고, 이를 이용해서 매치되는 문자열은 "DA"(YES), 매치되지 않는 문자열은 "NE"(NO)를 출력한다. 예를 들어, `h*d`가 입력된다고 했을 때, 정규표현식으로 바꾸면 다음과 같다. `^h[a-z]*d$` - `^`: 패턴의 처음을..
https://www.acmicpc.net/problem/2941코드croatia_alphabet = set(["c=", "c-", "dz=", "d-", "lj", "nj", "s=", "z="])input_str = input()n = len(input_str)answer = 0idx = 0while idx = n-1: break if idx  두 글자 이상의 알파벳은 집합에 따로 모아둔다.그리고 입력으로 주어진 문자열을 순회하며  1. 현재 인덱스부터 시작해서 2글자가 크로아티아 알파벳이라면 continue2. 현재 인덱스부터 시작해서 3글자가 크로아티아 알파벳인지 continue3. 둘 다 아니면 한 글자짜리 알파벳 이렇게 while문을 도는 횟수를 구하면 알파벳의 개수를 구할 ..
https://www.acmicpc.net/problem/5648[BOJ] 5648 - 역원소 정렬코드const fs = require("fs");const path = process.platform === "linux" ? "dev/stdin" : "./input.txt";const [n, ...arr] = fs .readFileSync(path) .toString() .split(/\s/) .filter((val) => val !== "");const reverseString = (str) => { return str.split("").reverse().join("");};const ans = arr.map((val) => +reverseString(val)).sort((a, b) => a ..
https://www.acmicpc.net/problem/1942코드const fs = require("fs");const filePath = process.platform === "linux" ? "dev/stdin" : "./input.txt";const arr = fs.readFileSync(filePath).toString().trim().split("\n");arr.forEach((item) => { let ans = 0; let [start, end] = item.split(" "); start = start.split(":").map((item) => +item); end = end.split(":").map((item) => +item); while (true) { // 3의..
https://level.goorm.io/exam/47883/%EB%8B%A8%EC%96%B4%EC%9D%98-%EA%B0%9C%EC%88%98-%EC%84%B8%EA%B8%B0/quiz/1코드// Run by Node.jsconst readline = require("readline");const rl = readline.createInterface({ input: process.stdin, output: process.stdout,});rl.on("line", function (line) { console.log( line .trim() .split(/\s+/) .filter((item) => item.length > 0).length );}).on("close..
딜레이레이
'문제풀이/문자열' 카테고리의 글 목록