- 이상한 문자 만들기2023년 11월 24일 22시 02분 53초에 업로드 된 글입니다.작성자: oneseel
이상한 문자 만들기
문제설명
문자열 s는 한 개 이상의 단어로 구성되어 있습니다. 각 단어는 하나 이상의 공백문자로 구분되어 있습니다. 각 단어의 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을 리턴하는 함수, solution을 완성하세요.
제한사항
- 문자열 전체의 짝/홀수 인덱스가 아니라, 단어(공백을 기준)별로 짝/홀수 인덱스를 판단해야합니다.
- 첫 번째 글자는 0번째 인덱스로 보아 짝수번째 알파벳으로 처리해야 합니다.
입출력 예
입출력 예 설명
입출력 예 #1
"try hello world"는 세 단어 "try", "hello", "world"로 구성되어 있습니다. 각 단어의 짝수번째 문자를 대문자로, 홀수번째 문자를 소문자로 바꾸면 "TrY", "HeLlO", "WoRlD"입니다. 따라서 "TrY HeLlO WoRlD" 를 리턴합니다.
내 풀이
>> 주어진 문자열 s를 split 메소드를 이용해 쪼개서 sArray라는 String배열을 만든다.
>> 향상된 for문을 이용해 sArray에 있는 쪼개진 문자열로 돌려준다.
>> 문자열이 공백을 만나면 count가 0으로 초기화되고, 공백을 안만나면 count 값에 1을 더해준다.
>> count는 단어에 있는 문자들의 위치를 나타낸다.
>> StringBuilder 객체 sb에 count가 짝수인지 홀수인지에 따라 그 문자를 대문자인지 소문자인지 반환해서 넣어준다.
class Solution { public String solution(String s) { StringBuilder sb = new StringBuilder(); String[] sArray = s.split(""); int count = 0; for(String s2 : sArray) { count = s2.equals(" ") ? 0 : count + 1; sb.append(count % 2 != 0 ? s2.toUpperCase() : s2.toLowerCase()); } return sb.toString(); } }
https://school.programmers.co.kr/learn/courses/30/lessons/12930
'코딩테스트' 카테고리의 다른 글
로또의 최고 순위와 최저 순위 (0) 2023.12.01 삼총사 (1) 2023.11.26 3진법 뒤집기 (0) 2023.11.24 최대공약수와 최소공배수 (0) 2023.11.20 직사각형 별찍기 (1) 2023.11.20 댓글