알고리즘/Programmers

프로그래머스 LEVEL 1 : 이상한 문자 만들기

꾸준하게 :) 2020. 3. 17. 10:18

문제 링크입니다 https://programmers.co.kr/learn/courses/30/lessons/12930

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

문자열 s를 매개변수로 입력 받아서 각 단어의 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을 리턴하는 함수를 완성하는 문제였습니다. 단, 문자열 전체의 짝/홀수 인덱스가 아니라, 공백을 기준으로 짝/홀수 인덱스를 판단해야하고, 첫 번째 글자는 0번째 인덱스로 보아 짝수번째 알파벳으로 처리해야 합니다. 문제 풀이 절차는 다음과 같습니다.

 

[1] 문자열의 처음부터 끝까지 한 글자씩 확인하는 for문에서 공백을 기준으로 몇 번째 글자인지 체크하기 위한 count 변수를 만들어 하나씩 증가시키면서 공백이면 answer에 공백을 넣고 0으로 초기화합니다.

 

[2] count가 짝수라면 대문자일때는 answer에 글자를 그냥 추가하고, 소문자일때는 -32를 해준 글자를 추가합니다.

→ 공백과 소문자 a, 대문자 A의 아스키코드는 다음과 같으므로 ' ' : 32, 'a' : 97, 'A' : 65

 

[3] count가 홀수라면 대문자일때는 answer에 +32를 해준 글자를 추가하고, 소문자일때는 그냥 추가합니다.

 

 

[소스코드]