Algorithm/BOJ
[BOJ] 1251 단어 나누기 C# 풀이
Bueong_E
2023. 1. 22. 19:44
반응형
SMALL
문제
문제 풀이
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
namespace Two_Sum
{
class Program
{
static void Main()
{
string test = "mobitel"; //입력 문자열
List<string> lists = new List<string>(); //문자열 요소를 뒤집은뒤 합친 무낮열을 넣어줄 리스트
for(int i = 1;i <= test.Length-2;i++) //문자열을 돌며 1번째 문자열 부터 경우의 수를 탐색
{
for (int j = 1; j <= test.Length-1 - i; j++) //1번쨰 문자열 이후의 2번쨰 문자열 경우의수를 탐색 + 남은 문자열들을 탐색
{
string temp1 = test.Substring(0, i); //총 3개의 문자열을 새로 생성해주고
string temp2 = test.Substring(i, j);
string temp3 = test.Substring(i + j);
string word = //새로운 문자열 세개를 포멧 메서드를 사용하여 뒤집은 뒤 합치기(char[]형식으로 뒤집기 떄문에 다시문자열로 생성하여 합치기)
string.Format("{0}{1}{2}", new string(temp1.Reverse().ToArray()),
new string(temp2.Reverse().ToArray()),
new string(temp3.Reverse().ToArray()));
lists.Add(word); //생성된 새로운 문자열을 리스트에 담고
}
}
lists.Sort(); //문자열들을 사전순으로 나열하고
Console.WriteLine(lists[0]); //0번 인덱스를 출력
}
}
}
결과창
String.Reverse() 메서드 사용시 char[] 형식으로 반환되는걸 간과하여 이해하는데 시간이 조금 걸렸다.
새로 사용해본 메서드인 Format 메서드 사용은 덤
반응형
LIST