목록문자열 (72)
N

알파벳 문자열을 다루는 문제..! 대소문자를 구분하기 때문에 따로 처리를 해줘야 한다. 또한 해당 알파벳 + n이 'z'나 'Z'를 넘어가게 되면 'a'나 'A'부터 시작해서 나머지 수만큼 밀어주면 된다..! 본인은 나머지 연산을 이용하여 알파벳을 밀어주었다. 나머지 연산을 이용하면 대소문자 구분만 해주면 되기 때문에 간단하게 풀 수 있다..! #include #include #include using namespace std; string solution(string s, int n) { string answer = ""; for(int i = 0; i = 'a' && s[i]

문자열을 정수로 바꾸는 간단한 문제..! atoi 함수를 사용하였는데, 이 함수는 다른 알고리즘 문제에서도 많이 쓰이는 함수라서 외우는 게 좋을 것 같다..! atoi와 c_str()에 관해 설명이 잘 돼있는 블로그가 있으니 참고하면 되겠다..! https://blockdmask.tistory.com/39 [C++] string 클래스 변환(atoi, c_str()) 등 정리 C++에서 string, char *, int 간의 변환에 대해서 알아보겠습니다. (char* -> int 로 바꾸는 것을 보고싶다면, [바로가기]) (string -> int 로 바꾸는 것을 보고싶다면, [바로가기]) (int -> string 으로 바로 바.. blockdmask.tistory.com #include #inclu..

1부터 n까지 for문을 돌면서 홀수번째는 "수"를 붙이고 짝수번째는 "박"을 answer에 붙이면 끄으읏! 간단간단..! #include #include using namespace std; string solution(int n) { string answer = ""; for(int i = 1; i

이 문제 또한 문자열 다루는 기본 문제같다..! 초보자도 쉽게 풀 수 있는 문제..! 우선 answer에 "김서방은 "을 넣어준다. for문을 이용해 "Kim"을 찾고, 그 위치를 string 형태로 변환하여 answer에 넣어준다. 마지막으로 "에 있다"를 넣어주면 끄으으읏..! #include #include #include using namespace std; string solution(vector seoul) { string answer = "김서방은 "; for(int i = 0; i < seoul.size(); i++) { if(seoul[i] == "Kim") { answer += to_string(i); break; } } answer += "에 있다"; return answer; }

문자열 문제 중 가장 기본이라고 생각하는 문제..! 어렵지 않아서 쉽게 풀 수 있다고 생각한다. 문자열의 길이부터 검사하고, 길이가 4 또는 6이 아니면 바로 false를 리턴. 길이가 4 또는 6이면 숫자로만 이루어져 있는지 검사해준다. #include #include using namespace std; bool solution(string s) { if(s.size() == 4 || s.size() == 6) { for(int i = 0; i = '0' && s[i]

문자열 비교를 하여 p와 y의 개수를 세는 문제..! for문을 이용하여 문자열을 비교한다. 단, 대소문자를 구별하지 않으니 if문에 대소문자를 모두 포함해야 한다..! #include #include using namespace std; bool solution(string s) { bool answer = true; int pCount = 0, yCount = 0; for(int i = 0; i < s.size(); i++) { if(s[i] == 'p' || s[i] == 'P') pCount++; else if(s[i] == 'y' || s[i] == 'Y') yCount++; } if(pCount == yCount) return true; else return false; }

인덱스 n번째 글자를 기준으로 문자열을 오름차순으로 정렬하는 문제..! for문을 이용하여 모든 글자를 비교해주도록 한다..! 다만 인덱스 n번째가 같은 글자이면 사전순으로 정렬해주도록 한다. #include #include using namespace std; vector solution(vector strings, int n) { for(int i = 0; i strings[j]) strings[i].swap(strings[j]); } } ret..

문자열 중 가장 간단한 문제..! 우선 s의 size가 짝수인지 검사를 해준다. 짝수이면 substr을 이용해 가운데 두글자를 반환해주고, 홀수도 마찬가지로 substr을 이용해 가운데 한글자만 반환해준다. #include #include #include using namespace std; string solution(string s) { string answer = ""; if(s.size() % 2 == 0) answer = s.substr(s.size() / 2 - 1, 2); else answer = s.substr(s.size() / 2, 1); return answer; }