- Today
- Total
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 정렬
- Java
- 프로그래머스
- 알고리즘
- 로그인
- 컴퓨터공학과
- Firebase
- 백준
- firebase google
- 동적할당
- 파이썬
- C언어
- 안드로이드
- android studio
- 안드로이드 스튜디오
- sql
- oauth
- python
- 코딩테스트
- 자바
- 자료구조
- 구글 로그인
- 비주얼 베이직
- 공유대학
- 배열
- 연결리스트
- til
- 프로그래밍 입문
- C++
Archives
코딩하는 해달이
[level 1] 이상한 문자 만들기 본문
문제 설명
문자열 s는 한 개 이상의 단어로 구성되어 있습니다. 각 단어는 하나 이상의 공백문자로 구분되어 있습니다. 각 단어의 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을 리턴하는 함수, solution을 완성하세요.
제한 사항
- 문자열 전체의 짝/홀수 인덱스가 아니라, 단어(공백을 기준)별로 짝/홀수 인덱스를 판단해야합니다.
- 첫 번째 글자는 0번째 인덱스로 보아 짝수번째 알파벳으로 처리해야 합니다.
문제 이해
입력받은 문자열을 "단어"(문자열 전체 X)기준 짝수번째는 대문자, 홀수번째는 소문자로 바꾼 문자열을 리턴해야한다.
문자열 전체를 순회하며 공백을 만날 때마다 초기화하는 인덱스를 만들면 되지 않을까?
알고리즘
1. 문자열 s를 입력받는다.2. 정수형 변수 vcindex를 선언한다.
3. 만약 s[i]가 공백이면 vcindex를 0으로 초기화한다.
4. 만약 vcindex가 짝수면 s[i]를 대문자로 변환하고 vcindex에 1을 더한다.
5. 만약 vcindex가 홀수면 s[i]를 소문자로 변환하고 vcindex에 1을 더한다.
풀이 코드
#include <string>
#include <vector>
#include <iostream>
using namespace std;
string solution(string s)
{
string answer = "";
int vcindex = 0;
for (int i = 0; i < s.length(); i++)
{
if (s[i] == ' ')
{
answer += " ";
vcindex = 0;
}
else
{
if (vcindex % 2 == 0)
answer += toupper(s[i]);
else
answer += tolower(s[i]);
vcindex++;
}
}
return answer;
}
https://school.programmers.co.kr/learn/courses/30/lessons/12930
반응형
'개인 공부 > 프로그래머스' 카테고리의 다른 글
[level 1] 시저 암호 (0) | 2022.07.20 |
---|---|
[level 1] 약수의 합 (0) | 2022.07.20 |
[level 1] 자릿수 더하기 (0) | 2022.07.20 |
[level 1] 자연수 뒤집어 배열로 만들기 (0) | 2022.07.20 |
[level 1] 정수 내림차순으로 배치하기 (0) | 2022.07.20 |
Comments