728x90

문자열 16

백준] 10546 - 배부른 마라토너(COCI 2014/2015)

시간 제한 : 1초메모리 제한 : 64MB 입력첫째 줄에는 참가자 수 N이 주어진다. (1 ≤ N ≤ 105)N개의 줄에는 참가자의 이름이 주어진다.추가적으로 주어지는 N-1개의 줄에는 완주한 참가자의 이름이 쓰여져 있다. 참가자들의 이름은 길이가 1보다 크거나 같고, 20보다 작거나 같은 문자열이고, 알파벳 소문자로만 이루어져 있다.참가자들 중엔 동명이인이 있을 수도 있다. 출력마라톤을 완주하지 못한 참가자의 이름을 출력한다. 소스코드 #include #include #include using namespace std; int main(void) { map list; int n; string tmp; cin >> n; for (int i = 0; i > tmp; if (l..

C++] 공백을 포함하는 문자열 여러 줄 입력 받기

문자열 처리 문제는 대부분 공백을 포함하는 한 문장을 다루는 문제가 많다.간혹 그 이상의 문장을 처리해야 하는 문자열 처리 문제가 주어지는 경우가 있는데 이 때 공백을 포함하는 문장을 EOF가 입력될 때까지 문장을 입력 받고 싶다면 아래처럼 처리하면 된다. vector s; string str; while (getline(cin, str)) s.push_back(str); 문장의 수가 예상 가능하다면 동적 배열 vector가 아닌 정적 배열을 선언해도 좋다.

C++에서 문자열을 숫자로, 숫자를 문자열로

문자열 처리, 특히 숫자를 문자열로 다루어야 하는 문제들을 접하면 C언어를 주로 했던 사람들은 바로 떠올리는 게 atoi나 itoa다. 물론, 이를 몰라서 아스키 코드를 바탕으로 한 문자열 처리를 하겠지만(필자가 그랬다.), 어쨌든 이 두 함수를 알고 있는 사람들은 C++에서도 cstdlib.h 헤더 파일을 추가해주면 사용이 가능하다. 문자열을 숫자로 변환시켜주는 atoi는 표준 함수라서 크게 문제되진 않지만, 함수 자체가 가지고 있는 문제점이 있어서 더 좋은 대안이 있다면 사용에 주의를 기울여야 한다. 보통은 기본적인 수준의 문자열 처리 문제들을 푸는 상황에서는 문제가 없다. 문제는, 숫자를 문자열로 변환 시키는 itoa다. 표준이 아니라서 비표준 함수를 처리해주지 못하는 컴파일러를 만나면 컴파일 에러..

백준 알고리즘] 1159 - 농구 경기(COCI 2013/2014)

시간 제한 : 1초메모리 제한 : 128MB 문제상근이는 농구의 세계에서 점차 영향력을 넓혀가고 있다. 처음에 그는 농구 경기를 좋아하는 사람이었다. 농구에 대한 열정은 그를 막을 수 없었고, 결국 상근이는 농구장을 청소하는 일을 시작했다. 상근이도 농구장을 청소하면서 감독이 되기 위해 가져야할 능력을 공부해나갔다. 서당개 3년이면 풍월을 읊듯이 상근이는 점점 감독으로 한 걸음 다가가고 있었다. 어느날 그에게 지방의 한 프로농구팀을 감독할 기회가 생기게 되었다. 그는 엄청난 지도력을 보여주며 프로 리그에서 우승을 했고, 이제 국가대표팀의 감독이 되었다. 내일은 일본과 국가대표 친선 경기가 있는 날이다. 상근이는 내일 경기에 나설 선발 명단을 작성해야 한다. 국가대표팀의 감독이 된 이후에 상근이는 매우 게..

Python] 문자열 정의

###Python 문자열 정의 - 문자열 내에 '를 사용할 경우,""를 이용해 문자열을 정의하면 이용 가능\'을 이용하면 ''를 이용해 문자열을 정의 가능str = 'Don\t move "RUN"' - \는 다음 라인이 현재 라인의 뒤에 이어짐을 나타냄long_str = "This is a rather long string \containing back slash and new line." - 여러 줄의 문자열 정의multiline = """ While the rest of the world has been catching on tothe Perl scripting language, the Linux community,long since past ...has been catching on to a """..

Python] 파이썬 문자열 메소드

###Python 문자열 메소드 s = 'i like programming.' s.upper() # 모두 대문자로s.lower() # 모두 소문자로s.swapcase() # 대문자는 소문자, 소문자는 대문자s.capitalize() # 첫 문자를 대문자로s.title() # 각 단어의 첫 문자를 대문자로 s.count('like') # 'like' 문자열이 출현한 횟수 반환s.find('like') # 'like' 첫 글자의 위치(offset)을 반환s.find('like',3) # offset=3 부터 'like'를 검색해 첫 글자의 위치 반환 - find의 경우 단어가 없을 경우 -1 반환 s.startswith('i like') # 'i like'로 시작하는 문자열인지 판단s.endswith('sw..

728x90