-
JadenCase 문자열 만들기코딩 테스트/프로그래머스 2021. 10. 19. 18:35
https://programmers.co.kr/learn/courses/30/lessons/12951
코딩테스트 연습 - JadenCase 문자열 만들기
JadenCase란 모든 단어의 첫 문자가 대문자이고, 그 외의 알파벳은 소문자인 문자열입니다. 문자열 s가 주어졌을 때, s를 JadenCase로 바꾼 문자열을 리턴하는 함수, solution을 완성해주세요. 제한 조건
programmers.co.kr
문제 이해
-> 모든 단어의 첫 문자가 대문자이고, 그 외의 알파벳은 소문자인 문자열
-> 문자열 s가 주어졌을 때, s를 JadenCase로 바꾼 문자열을 리턴하는 프로그램문제 주의
-> s는 길이 1 이상인 문자열
-> s는 알파벳과 공백문자(" ")로 구성
-> 첫 문자가 영문이 아닐때에는 이어지는 영문은 소문자로 작성
문제 풀이
-> 첫 단어는 대문자로 변환하기 위해 bool 값을 설정
-> 반복문으로 각 자리를 순회
-> 만일 문자열의 해당 자리가 소문자의 범주라면 ACSII코드 값을 활용하여 대문자로 변환
-> 그 후, 변환했으므로 bool 값을 수정
-> 만일 대문자의 범주라면 ASCII코드 값을 활용하여 소문자로 변환
-> 혹은 문자열의 해당 자리가 공백문자라면 다음번 문자를 변환하기 위해 bool 값을 설정
-> 위 단계를 거친 문자열을 정답을 출력할 문자열에 저장
#include <string> #include <vector> using namespace std; string solution(string s) { string answer = ""; bool isChange = true; for (int i = 0; i < s.size(); i++) { if (isChange) { if (s[i] >= 'a' && s[i] <= 'z') s[i] -= 32; isChange = false; } else if (s[i] >= 'A' && s[i] <= 'Z') s[i] += 32; if (s[i] == ' ') isChange = true; answer += s[i]; } return answer; }
'코딩 테스트 > 프로그래머스' 카테고리의 다른 글
서울에서 김서방 찾기 (0) 2021.12.02 같은 숫자는 싫어 (0) 2021.12.02 모의고사 (0) 2021.10.13 부족한 금액 계산하기 (0) 2021.08.25 내적 (0) 2021.08.24