string
-
C++ String Replace 함수유용한 정보 2022. 1. 1. 00:47
1. 헤더 선언 #include => string 헤더에 포함된 함수이므로 string헤더를 참조해야 합니다. 2. 사용법 S.replace(시작점, 변환할 갯수, 대체할 문자열); => 위와 같이 시작점, 변환할 개수, 대체할 문자열을 대입하여 주어진 String에서 replace함수를 사용할 수 있습니다. 3. 예제 #include #include #include #include #include #include #include #include using namespace std; int main() { string s("you are the apple of my eye."); s.replace(0,3,"We"); cout
-
오픈채팅방프로그래머스(Programmers) 2021. 12. 9. 20:42
제한사항 record는 다음과 같은 문자열이 담긴 배열이며, 길이는 1 이상 100,000 이하이다. 다음은 record에 담긴 문자열에 대한 설명이다. 모든 유저는 [유저 아이디]로 구분한다. [유저 아이디] 사용자가 [닉네임]으로 채팅방에 입장 - "Enter [유저 아이디] [닉네임]" (ex. "Enter uid1234 Muzi") [유저 아이디] 사용자가 채팅방에서 퇴장 - "Leave [유저 아이디]" (ex. "Leave uid1234") [유저 아이디] 사용자가 닉네임을 [닉네임]으로 변경 - "Change [유저 아이디] [닉네임]" (ex. "Change uid1234 Muzi") 첫 단어는 Enter, Leave, Change 중 하나이다. 각 단어는 공백으로 구분되어 있으며, 알파벳..
-
백준 10814 - 나이순 정렬백준 algorithm 2020. 7. 23. 20:07
=> pair형 vector 두 개를 사용해서 풀었습니다. => DB속 정규화 개념을 이용해 풀었습니다. => 입력되어지는 순서를 테이블 A와 B가 공유하는 값으로 설정하고, 형 pair를 생성하였습니다. https://codingham.tistory.com/184 백준 11650 - 좌표 정렬하기 => pair와 sort 함수를 사용할 줄 아는지 묻는 문제입니다. => x좌표와 y좌표는 같이 움직여야하는 하나의 객체이므로, 클래스로 표현하여도 되지만, 이미 c++ 에는 pair가 있습니다. => pair를 사용해서 codingham.tistory.com => 좌표 정렬하기에서 사용한 비교 함수를 사용해서 를 정렬한 후, 원하는 값을 출력하였습니다. #include #include #include #in..
-
백준 2941 - 크로아티아 알파벳카테고리 없음 2020. 6. 17. 16:36
=> 문자열을 다룰 줄 아는지 물어보는 문제입니다. => string 헤더를 제대로 이해하고 내장되어있는 함수들을 통해 풀 수 있습니다. => 저는 처음에 if문으로 구현할 수 있을 줄 알았는데, 해당 방식으로 하면 참조하지 말아야 할 위치를 참조하는 등의 잘못이 생깁니다. => string의 find() 함수와 replace 함수를 적절히 사용하여야 합니다. 크로아티아 알파벳을 담을 배열을 생성하고 초기화한다. 해당 크로아티아알파벳을 찾을 경우 해당 구간을 *로 바꿔준다 위의 과정은 같은 단어가 여러 번 들어가 있을 경우를 위해 다시 검색되지 않도록 하기 위해서 하는 과정이다. 해당 과정을 진행하며, 크로아티아 알파벳의 개수와 해당 알파벳의 길이를 점진적으로 구한다. 문자열의 길이 - 크로아티아 알파벳..
-
백준 1316 - 그룹 단어 체커백준 algorithm 2020. 6. 4. 01:37
=> 단순한 구현 문제입니다. => string을 사용하고 bool형 array를 사용하여 구현할 수 있습니다. 알파벳을 담을 bool형 array를 생성합니다. 현재의 단어의 글자를 탐색하며 처음 나온 알파벳인지, 나왔던 알파벳인지를 확인합니다. 처음 나온 알파벳일 경우, 해당 알파벳을 방문했다고 표시해줍니다. 처음 나온 알파벳이 아닐 경우, 이전 알파벳과 같은 알파벳인지, 같지 않은지 확인합니다. 같지 않을 경우 그룹 단어에 해당이 안됩니다. 해당하는 경우에 okay라는 bool형 변수를 true로 바꿔주고, 해당 변수를 통해 단어의 개수를개수를 세는 cnt의 개수를 올릴지 말지 정합니다. 모든 순서가 끝나면 방문하였던 알파벳 arr를 초기화시켜주고, okay 변수 또한 초기화 시켜줍니다. => 저는..
-
백준 2745 - 진법 변환백준 algorithm 2020. 4. 1. 01:40
=> 진법 변환 2와 달리 B 진법으로 표시되어 있는 수를 10진법으로 변환하면 되는 문제이다. *** 참고 : https://codingham.tistory.com/116 백준 11005 - 진법 변환 2 => 간단한 진법 변환 문제이다. => 진법 변환의 알고리즘을 알아야한다. ex) 11 을 3진법으로 나타내고자 한다. 11 / 3 = 3 ... 2(나머지) 3 / 3 = 1 ... 0 1/3 = 0 ... 1 =>의 결과로 102(3) 의 결과를 얻을 수.. codingham.tistory.com => 알고리즘 B 진법 수 N 을 10진법으로 나타내기 102 (3) = (1 *3^2) + (0* 3^1) + (2* 3^0) 위의 식처럼 각 수에 따라 승수는 줄어들게 되고 각 자리에 해당되는 수를 ..
-
백준 1373 - 2진수 8진수백준 algorithm 2020. 3. 26. 20:21
=> 수의길이가 1000000 이므로 실제수로는 구현할 수 없다. => 11, 001, 100 의 예시를 들어보자 => 3, 1, 4 => 위와 같이 뒤에서부터 3개씩 나누어 수를 8진수로 변환할 수 있다. => 4의 자리, 2의 자리, 1의 자리를 차례대로 곱하고 더하여 출력한다. *** string에 있는 숫자를 실제 숫자로 print하기 위해서 '0' 을 빼주고 계산한다. #include #include using namespace std; int main() { ios_base::sync_with_stdio(false); cin.tie(nullptr); cout.tie(nullptr); string S; cin >> S; int len = S.length(); if(len%3 == 1) { cout