python에서 정말 긴 문자열을 여러 줄에 걸쳐서 표현할 수 있는 방법이 없을까요? 가장 먼저 생각해 볼 수 있는 방법은, 배열로 만든 다음에 "".join으로 연결해 버리는 것입니다. 위 예제를 보겠습니다. 문자열을 이루는 문자열들을 str_set에다가 모아 놓았습니다. 다음에 "".join으로 str_set에 있는 문자열들을 모두 join해서 출력하게 됩니다. 출력 결과를 보겠습니다. abcdef가 나오는군요. 그런데, (로 감쌀 수도 있습니다.위와 같이 입력해 봅시다. 그래도 똑같이 나옵니다. 긴 문자열도 2가지 방법으로 깔끔하게 정돈할 수 있습니다. 당연하게도 이 방법을 응용하면 여러 줄로 이루어진 문자열도 깔끔하게 선언할 수 있습니다. (를 이용한 방식을 봅시다. 뒤에 "\n"을 붙여주었습니다..
문자열 검색 결과
안녕하세요. 이번 시간에는 java의 replace와 replaceAll에 대해서 간단하게 짚고 넘어가도록 하겠습니다. 사실 저는 문자 c1을 문자 c2로 바꾸기 위해서 replaceAll을 주로 이용하는 편이였어요. 그런데, 아시다시피 replaceAll은 내부에서 정규식을 위한 트리를 만들어서 생각보다 느려요. 모든 문자 c1을 c2로 바꾸는 메서드는 없냐? 라고 물으신다면, replace가 있어요. 예제만 간단하게 보겠습니다. "maple story 205"가 있어요. 저는 공백을 '|'로 바꾸려고 해요. 그러면 oldChar는 ' '가 되고, newChar는 '|'가 되겠죠? replace의 1번째 인자에는 ' '를, 2번째 인자에는 '|'을 넣으면 되어요. 실행 결과는 위와 같아요. 그런데 왜 ..
저번 시간에 tuple을 이용해서 다중 정렬을 손쉽게 하는 법을 배웠습니다. 특히 정수는 오름차순 반대인 내림차순으로 비교하기 위해서, 앞에 -만 붙이면 매우 간단하게 비교할 수 있어요. 그런데 문자열은 그게 되지 않습니다. 문제 상황을 보면서 어떻게 구현하면 좋을지 천천히 생각해 보도록 합시다. 개인적으로 아래 두 개의 글을 먼저 보고 오시는 게 좋아 보입니다. [관련글] tuple로 정렬 기준을 떨어트리는 방법을 알아봅시다. 안정 정렬에 대해서 알아봅시다. solution 함수를 구현해야 하는데요. list에는 튜플이 들어 있어요. 튜플의 1번째, 2번째 요소는 소문자로만 이루어진 문자열이 들어 있어요. 1차 정렬 기준은, 1번째 요소를 사전순 내림차순으로 돌립니다. 만약에, 1번째 요소가 같은 문자..
오늘은 ascii 함수와 char 함수에 대해서 알아보겠습니다. 각각, 문자를 ascii 코드 값으로, ascii 코드 값을 문자로 변환하는 함수입니다. 사용법은 그리 복잡하지 않으니 예제를 먼저 보도록 하겠습니다. 먼저, ascii 함수 먼저 보겠습니다. 문자를 넣으면, 그에 맞는 아스키 코드 값이 리턴이 되는데요. 당연하게도 다중 바이트 문자인 '가'와 같은 것은 쓸 수 없습니다. 먼저 'a'와 'A'의 ascii 코드 값을 뽑아봅시다. 그러면 97과 65가 나옵니다. 소문자와 대문자의 코드 값 차이는 32임을 알 수 있어요. 소문자만 들어오면 ch - 'a' + 1이 문자 값이 되고, 대문자만 들어온다면 ch - 'A' + 1이 문자의 값이 됩니다. 이는 'a'부터 'z'까지, 'A'부터 'Z'까지..
오늘은 간단하게 문자열 리터럴만 올리도록 하겠습니다. "chogahui", "xi" 이런 것들을 우리는 리터럴이라고 합니다. 그러면, 이것들은 어디에 어떻게 저장이 되길래, 이들을 바꾸려고 하면 RTE가 뜰까요? 예제 프로그램 1을 봅시다. 4번째 줄에 보면 "chogahui" 라는 리터럴이 있습니다. 이것을 p가 가리키고 있어요. 그리고 p[0]에 'x'를 넣습니다. 6번째 줄에 p를 출력하는데요. "xhogahui"라는 내용이 출력될 거 같아요. 그런데, Seg fault가 뜹니다. 어떻게 된 걸까요? 이 상황을 다시 그려봅시다. p가 "chogahui"를 가리키고 있어요. 그러면 p[0]은 "chogahui"의 1번째 요소인 'c'일 겁니다. 이것을 'x'로 바꾸는 연산은, 메모리의 어느 영역에 '..
최근댓글