[Baekjoon] 1013. Contact
·
코딩테스트/Python
🔗 Problem Linkhttps://www.acmicpc.net/problem/1013❔Thinking주어진 패턴 "(100+1+ | 01)+"과 일치하는 문자열인 경우 "YES", 아니라면 "NO"를 반환한다.💻Solutionimport reimport sysinput = sys.stdin.readlineT = int(input().rstrip())r = re.compile("(100+1+|01)+")for _ in range(T): pattern = input().rstrip() if r.fullmatch(pattern): print('YES') else: print('NO')🗝️keypointre로 compile하면, r을 해당 패턴을 검색하는데 활..
[Baekjoon] 1439번 - 뒤집기
·
코딩테스트/Python
🔗 Problem Link 1439번: 뒤집기 다솜이는 0과 1로만 이루어진 문자열 S를 가지고 있다. 다솜이는 이 문자열 S에 있는 모든 숫자를 전부 같게 만들려고 한다. 다솜이가 할 수 있는 행동은 S에서 연속된 하나 이상의 숫자를 잡고 모 www.acmicpc.net ❔Thinking 0과1로 이루어진 문자열을 모두 같은 문자로 만드는 뒤집기 방법 중, 최소 횟수를 출력한다. 0을 뒤집으면 1로, 1을 뒤집으면 0이 된다. 같은 숫자의 연속은 한꺼번에 뒤집을 수 있다. 💻Solution 1. 정규표현식을 활용한 풀이 import re zero_r = re.compile('0+') one_r = re.compile('1+') word = input() print(min(len(zero_r.findal..
[Programmers] Level 2. 파일명 정렬
·
코딩테스트/Python
🔗 Problem Link 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr ❔Thinking 파일명을 주어진 조건에 따라 정렬한다. HEAD는 한 글자 이상의 문자로 이루어져있고, (" ", ".", "-") 가 가능하다. NUMBER는 한 글자 이상 다섯 글자 이하의 연속된 숫자이다. (공백이 없는 숫자의 나열) TAIL은 나머지로, 조건에 제시된 공백과 마침표, 빼기 부호와 숫자 문자가 모두 가능하다. 파일명은 HEAD -> NUMBER 순으로 기준을 잡아 정렬한다. 모든 정렬 기준이 동일할 경우, 입력된 순서를 유지한다. 💻Solution 1. win..
정규 표현식
·
Python 활용하기
1. 정규 표현식(regex)특정한 규칙의 문자열 집합을 표현하는 데 사용하는 형식 언어2. 정규 표현식 모듈import restring = "aaaa,b,c,e,d"a = re.search('a+', string)print(a.span())3. 정규 표현식 문법표현식의미표현식의미. 1개의 문자[a,b]a,b 중 하나a?0개 또는 1개의 문자 (a가 하나 있거나 없거나)[^ab]a,b 제외a*0개 이상의 문자 (a가 0개 이상)[a-z]a~z사이의 문자a+1개 이상의 문자 (a가 1개 이상)\다음 기호를 문자로 사용^a뒤의 문자로 시작하는 문자열 (a, ab, apple...)\b문자와 공백 사이$a앞의 문자로 끝나는 문자열 (bba, aaa, india...)\B문자와 공백 사이가 아닌 문자a|ba 또..