공부/알고리즘&자료구조

항해99 문제21번풀이 (이상한 문자 만들기,프로그래머스)

youngble 2021. 11. 8. 21:06

https://programmers.co.kr/learn/courses/30/lessons/12930

 

코딩테스트 연습 - 이상한 문자 만들기

문자열 s는 한 개 이상의 단어로 구성되어 있습니다. 각 단어는 하나 이상의 공백문자로 구분되어 있습니다. 각 단어의 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을

programmers.co.kr

 

 

 

내 코드:

코드 풀이:

1줄. 파라미터 a 인자로 받음

4줄. 입력받은 a 문자열을 띄어쓰기 ' ' 로 나누어줌

5줄. 앞으로 대문자 소문자로 바뀐 값을 넣어줄 변수 c 선언 및 초기화

6줄. 나누어진 문자열의 인덱스 만큼 for문을 돌려 주고

7줄. 나누어진 한단어 문자열의 인덱스[i]에서 각각 한글자에 해당하는 [j]번째 인덱스를 가리키는 for문을 만들어주고 

9줄. 만약 해당하는 글자가 짝수번째이면 toUpperCase() 를 이용하여 해당하는 j번째 글자를 대문자로 만들어주고

11~12줄. 만약 그게 아니라면 홀수이므로 j번째 해당하는 글자를 toLowerCase()를 사용하여 소문자로 만들어준다.

16줄. j 에 해당하는 for문을 돌때마다 문자열을 담은 c를 한칸 띄어주어 분리해줘야하는데 만약 if 문이 없다면 for문 나오기전에 마지막으로 ' '을 하여 한번더 띄어쓰기 되어서 출력값 맨뒤에 한칸 더 공백이 생긴다 이는 원하는 결과값이 아니기때문에 for문을 다돌고 나서는 공백을 안주기 위해서 b.length-1 보다 작을때까지만 공백을 넣어주고 그 이후론 안넣어주게 하였다.

20줄. 최종적으로 다 더해진 c 문자열을 return 으로 돌려준다