- 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 | 31 |
Tags
- 동적할당
- 프로그래밍 입문
- 배열
- Java
- 자바
- 알고리즘
- 정렬
- 안드로이드
- 로그인
- 비주얼 베이직
- 연결리스트
- python
- 코딩테스트
- 안드로이드 스튜디오
- 자료구조
- oauth
- 컴퓨터공학과
- 파이썬
- C언어
- sql
- Firebase
- firebase google
- 공유대학
- 구글 로그인
- til
- 프로그래머스
- 백준
- android studio
- 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
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
반응형
'개인 공부 > 프로그래머스' 카테고리의 다른 글
[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