문자열 s는 한 개 이상의 단어로 구성되어 있습니다. 각 단어는 하나 이상의 공백문자로 구분되어 있습니다. 각 단어의 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을 리턴하는 함수, solution을 완성하세요.
s | return |
---|---|
"try hello world" | "TrY HeLlO WoRlD" |
using System.Collections.Generic;
public class Solution
{
public string solution(string s)
{
string answer = "";
List<string> list = new List<string>(s.Split( ));
for (int i = 0; i < list.Count; i++)
{
char[] chars = list[i].ToCharArray();
for (int j = 0; j < chars.Length; j++)
{
if (j % 2 == 0)
{
answer += chars[j].ToString().ToUpper();
}
else
{
//answer += chars[j].ToString();
answer += chars[j].ToString().ToLower();
엠병 대문자는 소문자로 바꿔야 했었다.
}
}
if (i == list.Count - 1)
{
break;
}
answer += " ";
}
return answer;
}
}
코드 실행은 되나 제출에서 자꾸 틀린다 . . . 테스트 케이스를 추가해 보며 수정할 예정.
질문을 찾아보니 대문자는 소문자로 바꿔야 했었다 . . . 그럼 입출력 예를 좀 직관적으로 하라고 . . . 😥
필요한 사항
1. 위의 사항을 점검하고 알맞게 두 스크립트의 수정이 필요해 보인다.
Weapon과 monster 사이의 상호작용을 구현하자. collider등 . . .
Weapon의 damage를 어떻게 player에게 전달할지 결정하자. ItemSO -> Player . . .
TwinDagger가 오른손에 쥐어졌을 때 이슈를 해결하자.
Weapon.cs에 상태이상 등의 효과 추가를 트라이해보자.
Weapon class 생성
private int damage; // SO의 데미지를 받아오자
private float knockback;
private void OnTriggerEnter(Collider other)
{
Attack(other.GetComponent<IHit>());
}
public void Attack(IHit target)
{
if(target == null)
{
return;
}
target.Hit(this, damage);
}
// Player.cs
public void Hit(IAttack attacker, float damage)
{
ConditionHandler.HP.Subtract(damage);
}
// Monster.cs
public void Hit(IAttack attacker, float damage)
{
HP.Subtract(damage);
}
// Condition.cs
public void Subtract(float amount)
{
if (currentValue == 0) return;
currentValue = Mathf.Max(currentValue - amount, 0.0f);
OnUpdated?.Invoke(GetPercentage());
if(currentValue == 0)
{
OnBelowedToZero?.Invoke();
}
}
IAttack, IHit 인터페이스를 이용하여 구현 당하였다.
이슈를 공유했더니 무수한 조언의 요청에 의해 구현 당해졌다.
Weapon의 collider와 Player가 닿으면서 데미지가 들어온다. Layer 체크로 해결해볼까 싶지만 Weapon class를 Monster와 같이 쓸 계획이라서 고려할 부분이 많아져서 고민이다. 내일 좀 더 트라이해보고 이슈를 공유할 예정이다.
Null