목록분류 전체보기 (295)
습관처럼
정규 표현식에서 사용하는 메타 문자(meta characters)에는 다음과 같은 것이 있다. 메타 문자란 원래 그 문자가 가진 뜻이 아닌 특별한 용도로 사용하는 문자를 말한다. . ^ $ * + ? { } [ ] \ | ( ) 정규 표현식에 위 메타 문자를 사용하면 특별한 의미를 갖게 된다. 문자 클래스 [] 문자 클래스로 만들어진 정규식은 "[ ] 사이의 문자들과 매치"라는 의미를 갖는다. 정규 표현식이 [abc]라면 이 표현식의 의미는 "a, b, c 중 한 개의 문자와 매치"를 뜻한다. 이해를 돕기 위해 문자열 "a", "before", "dude"가 정규식 [abc]와 어떻게 매치되는지 살펴보자. "a"는 정규식과 일치하는 문자인 "a"가 있으므로 매치 "before"는 정규식과 일치하는 문자인..
programmers.co.kr/learn/courses/30/lessons/60057?language=cpp 코딩테스트 연습 - 문자열 압축 데이터 처리 전문가가 되고 싶은 어피치는 문자열을 압축하는 방법에 대해 공부를 하고 있습니다. 최근에 대량의 데이터 처리를 위한 간단한 비손실 압축 방법에 대해 공부를 하고 있는데, 문자 programmers.co.kr 문제 설명 aabbaccc의 경우 2a2ba3c(문자가 반복되지 않아 한번만 나타난 경우 1은 생략함)와 같이 표현할 수 있는데, 이러한 방식은 반복되는 문자가 적은 경우 압축률이 낮다는 단점이 있습니다. 예를 들면, abcabcdede와 같은 문자열은 전혀 압축되지 않습니다. 어피치는 이러한 단점을 해결하기 위해 문자열을 1개 이상의 단위로 잘라..
문자열 관련 함수들 count: 개수 >>> a = "hobby" >>> a.count('b') 2 find: 문자를 통해 인덱스 위치 >>> a = "Python is the best choice" >>> a.find('b') 14 >>> a.find('k') -1 index: 인덱스 위치 >>> a = "Life is too short" >>> a.index('t') 8 >>> a.index('k') Traceback (most recent call last): File "", line 1, in ValueError: substring not found join: 문자열 사이에 해당문자를 삽입 >>> ",".join('abcd') #abcd 문자열의 각각의 문자 사이에 ','를 삽입한다. 'a,b,c..
문자열(String)이란 문자, 단어 등으로 구성된 문자들의 집합을 의미한다 . 백슬래시(\)를 사용해서 작은따옴표(')와 큰따옴표(")를 문자열에 포함시키기 >>> food = 'Python\'s favorite food is perl' >>> say = "\"Python is very easy.\" he says." \n 문자열 안에서 줄을 바꿀 때 사용 \t 문자열 사이에 탭 간격을 줄 때 사용 \\ 문자 \를 그대로 표현할 때 사용 \' 작은따옴표(')를 그대로 표현할 때 사용 \" 큰따옴표(")를 그대로 표현할 때 사용 \r 캐리지 리턴(줄 바꿈 문자, 현재 커서를 가장 앞으로 이동) \f 폼 피드(줄 바꿈 문자, 현재 커서를 다음 줄로 이동) \a 벨 소리(출력할 때 PC 스피커에서 '삑' 소..
람다 형식은 인공지능 분야나 AutoCAD라는 설계 프로그램에서 쓰이는 Lisp 언어에서 물려받았다고 하는데요, 함수를 딱 한 줄만으로 만들게 해주는 훌륭한 녀석입니다. 사용할 때는 아래와 같이 써주면 됩니다. 다음은 두 수를 더하는 함수입니다. def hap(x, y): return x + y >>> hap(10, 20) 30 이것을 람다 형식으로는 어떻게 표현할까요? lambda 인자 : 표현식 >>> (lambda x,y: x + y)(10, 20) 30 정말 유용한 함수입니다. lambda of map map(함수, 리스트) >>> list(map(lambda x: x ** 2, range(5))) # python 2 및 python 3 [0, 1, 4, 9, 16] lambda of filter..
abs: abs(x)는 어떤 숫자를 입력받았을 때, 그 숫자의 절댓값을 돌려주는 함수이다. >>> abs(3) 3 >>> abs(-3) 3 >>> abs(-1.2) 1.2 chr: chr(i)는 아스키(ASCII) 코드 값을 입력받아 그 코드에 해당하는 문자를 출력하는 함수이다. >>> chr(97) 'a' >>> chr(48) '0' divmod: divmod(a, b)는 2개의 숫자를 입력으로 받는다. 그리고 a를 b로 나눈 몫과 나머지를 튜플 형태로 돌려주는 함수이다. >>> divmod(7, 3) (2, 1) >>> 7 // 3 2 >>> 7 % 3 1 enumerate: 순서가 있는 자료형(리스트, 튜플, 문자열)을 입력으로 받아 인덱스 값을 포함하는 enumerate 객체를 돌려준다. >>> ..
set은 집합 자료형이다. 정해진 순서가 없고 중복을 허용하지 않기 때문이다. 그래서 set은 중복을 제거할때도 유용하게 이용된다. set: set의 추가, 다중추가, 제거: def solution(): a_set={1,2,3}#set의 기본적인 표현 {}를 사용한다. b_set=set([1,2,3,4])#set은 리스트를 바꿔어서 사용가능하다. c_set=set([1,1,1,2,2,2,3,3,3,4])#{1,2,3,4} c_set.add(5)#{1,2,3,4,5} c_set.update([6,7,8])#{1,2,3,4,5,6,7,8} c_set.remove(1)#{2,3,4,5,6,7,8} #[2, 3, 4, 5, 6, 7, 8] set은 순서가 없기 때문에 인덱스에 접근하려면 리스트로 변경해야한다. ..
괄호변환 문제: 괄호가 개수는 맞지만 짝이 맞지 않은 형태로 작성되어 오류가 리스트가 존재한다. 해당 리스트중에 짝도 맞고 올바른 형태를 가지고 있는 리스트인 경우 바로 출력하고 아닌경우 수정을 거쳐 리스트를 출력한다 접근 방식: 처음에는 어떻게 접근해야 할지 감이 안왔지만 그럴때는 문제에 설명하는 것을 토대로 작성을 하는 것이 도움이 되는거 같습니다. 더보기 (' 와 ')' 로만 이루어진 문자열이 있을 경우, '(' 의 개수와 ')' 의 개수가 같다면 이를 균형잡힌 괄호 문자열이라고 부릅니다. 그리고 여기에 '('와 ')'의 괄호의 짝도 모두 맞을 경우에는 이를 올바른 괄호 문자열이라고 부릅니다. 예를 들어, "(()))("와 같은 문자열은 균형잡힌 괄호 문자열 이지만 올바른 괄호 문자열은 아닙니다. ..