[TIL] 29 Unity 팀과제 마무리, 문자열 ⭐⭐
카테고리: Til
유니티 팀과제 6일차
[o] 알고리즘 문제 41
[o] 팀과제
주말에 알고리즘 과제 풀어보기.
1. 알고리즘 문자열
설명
문자열 s는 한 개 이상의 단어로 구성되어 있습니다. 각 단어는 하나 이상의 공백문자로 구분되어 있습니다. 각 단어의 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을 리턴하는 함수, solution을 완성하세요.
제한 사항
문자열 전체의 짝/홀수 인덱스가 아니라, 단어(공백을 기준)별로 짝/홀수 인덱스를 판단해야합니다.
첫 번째 글자는 0번째 인덱스로 보아 짝수번째 알파벳으로 처리해야 합니다.
public string solution(string s) {
string answer = "";
s= s.ToUpper();
string[] words = s.Split(' ');
for(int i =0; i<words.Length;i++)
{
char[] c = words[i].ToCharArray();
for(int j=1; j<words[i].Length; j++)
{
if(j%2==1)
{
c[j]=char.ToLower(c[j]);
}
}
words[i] = new string(c);
}
answer = string.Join(' ',words);
return answer;
}
- 예) s = “make til”
ToUpper()
- s = s.ToUpper(); 문자열 s를 대문자로 변경하여 s에 다시 저장
- s = “MAKE TIL”
Split(‘ ‘)
- string[] words = s.Split(‘ ‘); ‘ ‘ 스페이바 기준으로 문자열을 나눔
- words [0] = “MAKE” , words[1] = “TIL”
Split(string.ToCharArray())
- char[] c = words[i].ToCharArray();
- i = 0 일 때 c[0] = ‘M’ , c[1] = ‘A’ , c[2] = ‘K’ , c[3] = ‘E’
- i = 1 일 때 c[0] = ‘T’ , c[1] = ‘I’ , c[2] = ‘L’
Split(char.ToLower(c[j]))
- c[j]=char.ToLower(c[j]);
- i = 0 일때 c -> MaKe
new string(c)
- words[i] = new string(c) c 문자배열을 합쳐서 문자열 words[i]에 저장
- words[0] = “MaKe” words[1] = “TiL”
string.Join(‘ ‘ , words)
- answer = string.Join(‘ ‘ , words) answer 에 words[] 배열사이에 ‘ ‘를 넣고 합친다.
- answer= “MaKe TiL”
시간 걸린부분
- string, char에 관한 필요한 메서드를 찾는 과정
- 메서드를 사용하고 결과를 변수에 넣지 않고 왜 안 바뀌는지 생각했던 부분
2. 프로젝트
자료
팀원분이 만들어주신 자료
[Unity] TIL 29
댓글남기기