https://www.acmicpc.net/problem/9996
9996번: 한국이 그리울 땐 서버에 접속하지
문제 선영이는 이번 학기에 오스트레일리아로 교환 학생을 가게 되었다. 호주에 도착하고 처음 며칠은 한국 생각을 잊으면서 즐겁게 지냈다. 몇 주가 지나니 한국이 그리워지기 시작했다. 선
www.acmicpc.net
입력받은 패턴 값을 *로 나누어서 파일 이름의 값 중에 첫번째, 마지막 문자열과 비교하여
첫번째 마지막 둘다 일치할시 DA를 출력 둘중 하나라도 틀릴 시 NE 출력
입력받은 패턴 값을 *로 split 해서 가지고 있고
file 배열 만들어서 입력받은 파일 이름 담음
foreach 돌면서 Strings.Left, Strings.Right 이용해서 문자열 1번째, 마지막 찾아서
패턴과 일치하는지 비교함
Strings.Left, Strings.Right를 사용하려면 그냥은 사용못하고
Microsoft.VisualBasic 를 참조 추가해서 상단 코드에 using Microsoft.VisualBasic; 선언해야지 사용가능
사용안하는 코드는 밑에 따로 있음
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Microsoft.VisualBasic;
namespace _9996
{
class Program
{
static void Main(string[] args)
{
var N = int.Parse(Console.ReadLine());
List<String> file = new List<String>();
if (N >= 1 && N <= 100)
{
var strPattern = Console.ReadLine();
var pattern = strPattern.Split('*');
for (int i = 0; i < N; i++)
{
var input = Console.ReadLine();
file.Add(input as String);
}
foreach (var name in file)
{
var a = Strings.Left(name, 1);
var b = Strings.Right(name, 1);
if (a == pattern[0] && b == pattern[1])
{
Console.WriteLine("DA");
}
else
Console.WriteLine("NE");
}
}
}
}
}
|
cs |
Microsoft.VisualBasic를 참조안하면 밑에 코드처럼 할 수 있음
Left, Right를 사용안하고 IndexOf를 사용해서 해당 패턴 문자열을 찾고 인덱스를 알아내서
첫번째에 있는지 문자열 길이의-1과 같은지 비교해서 출력하면 됨
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace _9996
{
class Program
{
static void Main(string[] args)
{
var N = int.Parse(Console.ReadLine());
List<string> file = new List<string>();
if (N >= 1 && N <= 100)
{
var strPattern = Console.ReadLine();
var pattern = strPattern.Split('*');
for (int i = 0; i < N; i++)
{
var input = Console.ReadLine();
file.Add(input);
}
foreach (var name in file)
{
var a = name.IndexOf(pattern[0]);
var b = name.IndexOf(pattern[1]);
if (a == 0 && b == name.Length-1)
{
Console.WriteLine("DA");
}
else
Console.WriteLine("NE");
}
}
}
}
}
|
cs |
실행 창
'c# > 알고리즘' 카테고리의 다른 글
1181 단어 정렬 (0) | 2020.05.25 |
---|---|
2135 문자열 압축하기 - 어려워..나중에 (0) | 2020.05.18 |
9933 민균이의 비밀번호 (0) | 2020.05.15 |
11654 아스키 코드 (0) | 2020.05.15 |
백준 7568 문제 덩치 (0) | 2020.05.13 |