오늘은 프로그래머스 코딩 기초 트레이닝 문제를 풀어보았다. 오늘 풀었던 5문제 중 2문제에 대해서 글을 써보려고 한다.
1. 대소문자 바꿔서 출력하기
- 문제
영어 알파벳으로 이루어진 문자열 str이 주어지고 각 알파벳을 대문자는 소문자로 소문자는 대문자로 변환해서 출력하는 코드 작성
using System;
public class Example
{
public static void Main()
{
Console.Clear();
string input = Console.ReadLine();
char[] charArray = input.ToCharArray(); // 문자열을 문자 배열로 변환
for (int i = 0; i < charArray.Length; i++)
{
if (char.IsUpper(charArray[i])) // 대문자인지 판별
{
charArray[i] = char.ToLower(charArray[i]); // 소문자로 변환
}
else if (char.IsLower(charArray[i])) // 소문자인지 판별
{
charArray[i] = char.ToUpper(charArray[i]); // 대문자로 변환
}
}
string result = new string(charArray); // 다시 문자열로 변환
Console.WriteLine(result);
}
}
- 문자 변환 과정
char[] charArray = input.ToCharArray();
ToCharArray() 메서드를 사용하여 str 문자열을 문자 배열로 변환하여 charArray에 저장한다.
※ ToCharArray() 메서드: 문자열(String)을 문자 배열(char[])로 변환하는 C#의 메서드
- 대소문자 변환
if (char.IsUpper(charArray[i]))
{
charArray[i] = char.ToLower(charArray[i]);
}
else if (char.IsLower(charArray[i]))
{
charArray[i] = char.ToUpper(charArray[i]);
}
IsUpper과 IsLower로 charArray가 대문자인지 소문자인지 판별하고 맞으면 true, 틀리면 false를 반환하고
ToLower과 ToUpper로 대문자는 소문자로 소문자는 대문자로 변환한다.
2. 문자열 겹쳐쓰기
- 문제
문자열 my_string, overwrite_string과 정수 s가 주어지고 문자열 my_string의 인덱스 s부터 overwrite_string의 길이만큼을 문자열 overwrite_string으로 바꾼 문자열을 return 하는 solution 함수를 작성
// 첫번째 방법
using System;
public class Solution {
public string solution(string my_string, string overwrite_string, int s) {
return my_string.Remove(s, overwrite_string.Length).Insert(s, overwrite_string);
}
// 2번째 방법
using System;
public class Solution {
public string solution(string my_string, string overwrite_string, int s) {
return my_string.Substring(0, s) + overwrite_string + my_string.Substring(s + overwrite_string.Length);
}
}
- 첫 번째 방법 (Remove + Insert 활용)
my_string. Remove(s, overwrite_string.Length)
my_string에서 s 위치부터 overwrite_string.Length 길이만큼 문자열을 삭제한다.
Insert(s, overwrite_string)
s 위치에 overwrite_string을 삽입한다
- 두 번째 방법 (Substring 활용)
my_string.Substring(0, s)
s 이전까지의 문자열을 가져온다.
※ Substring() 메서드: C#에서 문자열의 일부를 추출하는 메서드
+ overwrite_string
overwrite_string을 추가한다
my_string.Substring(s + overwrite_string.Length)
s + overwrite_string.Length 이후의 문자열을 가져온다.
'C#' 카테고리의 다른 글
[TIL] C# 프로그래머스_ 피자 나눠먹기(3), 배열의 평균 (1) | 2025.02.10 |
---|---|
[TIL] C# 프로그래머스_ 더 크게 합치기, 홀짝에 따라 다른 값 반환하기 (0) | 2025.02.07 |
[TIL] C# 텍스트 Rpg 구현하기(2) (1) | 2025.02.05 |
[TIL] C# 텍스트 Rpg 구현하기(1) (1) | 2025.02.04 |
[TIL] C# 인터페이스 (0) | 2025.02.03 |