본문 바로가기

알고리즘55

짝지어 제거하기 문제를 읽은 후 든 생각 - 정규식으로 처리하자 문제 풀이 중 겪은 어려움 - 정규식 매칭이 내 마음대로 되지 않음 p = re.compile('(\w)\1') result = p.match('baabaa') print(result) result에 None이 들어있다.... 내 예상은 aa에 해당하는 두 위치(1-2, 4-5)가 들어있어야 한다고 생각한다. 정규식 매칭 방식을 잘못 알고있는 것 같아서 regexr.com 돌려보았다. 내가 원하는 곳을 잘 찾는 것 같은데... 코드에서 뭘 잘못한걸까? 잘 모르겠다!! 07월 21일 추가작성 이스케이프(백슬래쉬) 문제였다. 다음과 같이 작성하면 된다. p = re.compile('(\\w)\\1') # 둘 중에 편한대로 사용 // p = re.compile(.. 2021. 7. 20.
[1차] 다트 게임 (파이썬) 문제를 읽은 후 생각 - 앞에서부터 하나씩 잘라 처리 - 숫자가 나오면 배열에 저장 - S, D, T, * ,#은 각 조건에 따라 처리 - 배열에 저장된 숫자의 합 == 정답 코드 더보기 def solution(dartResult): dartResult = list(dartResult) answer = 0 arr = [] while dartResult: tmp = dartResult.pop(0) try: num = int(tmp) if num == 1 and dartResult[0] == '0': dartResult.pop(0) arr.append(10) else: arr.append(num) except: if tmp == 'S': arr[-1] = arr[-1] * 1 elif tmp == 'D': .. 2021. 7. 14.
숫자 문자열과 영단어 (파이썬) 문제를 읽은 후 든 생각 - 영단어를 key로 가지며 숫자를 value로 가지는 dict 생성 - for문을 돌며 해당 영단어를 가지고 있는지 확인 코드 더보기 def solution(s): words = {'zero' : '0', 'one' : '1', 'two' : '2', 'three' : '3', 'four' : '4', 'five' : '5', 'six' : '6', 'seven' : '7', 'eight' : '8', 'nine' : '9'} for num in words: while num in s: s = s.replace(num, words[num]) return int(s) 회고 - 문제에 같은 숫자와 영단어가 반복하여 등장하지 않는다는 문장이 없는데 다른 사람의 풀이를 보면 한 번만 .. 2021. 7. 13.
백준 2799 블라인드 파이썬 https://www.acmicpc.net/problem/2799 2799번: 블라인드 문제 봄이 오고 있다. 해는 높이 떠서 환하게 빛나고 있다. 사람들은 햇볕을 가리기 위해 블라인드를 내린다. 상근이는 이웃들이 무엇을 하는지를 염탐하고, 이것에 대해서 뒷담화를 하는 주부�� www.acmicpc.net 풀이방법 - for loop을 이용하여 각 창문들을 한줄로 이어붙인다. ex) **** **** **** ----------------------> ************.... . . . . - 한 줄로 이어붙인거에 해당하는 문자열을 key로 갖는 dict를 활용하여 count를 한다. - count를 출력한다. 코드 더보기 a, b = map(int, input().split()) info = li.. 2020. 8. 7.