반응형
반응형

https://www.acmicpc.net/problem/10709

문제 요약

주어진 문자 배열에서 c가 나오기 전이면 -1, c가 나오면 0, 그 이후로는 0부터 1씩 증가하는 문자 배열 출력하기

 

 

 

풀이 1
var r = Console.ReadLine().Split().Select(int.Parse).ToArray();
for (int i = 0; i < r[0]; i++)
{
    var a = Enumerable.Repeat(-1, r[1]).ToArray();
    var s = Console.ReadLine();
    for (int j = 0; j < a.Count(); j++)
    {
        if (s[j] == 'c') a[j] = 0;
        else if (j > 0 && a[j - 1] != -1) a[j] = a[j - 1] + 1;
    }
    Console.WriteLine(string.Join(" ", a));
}

배열을 하나 만들어서 r[1] 크기만큼 -1을 담고, c가 나오면 0으로 바꾸면서 출력하기

 

풀이 2
var r = Console.ReadLine().Split().Select(int.Parse).ToArray();
for (int i = 0; i < r[0]; i++)
{
    var s = Console.ReadLine();
    int n = -1;
    for (int j = 0; j < r[1]; j++)
    {
        if (s[j] == 'c') n = 0;
        else if (n > -1) ++n;
        Console.Write(n + " ");
    }
    Console.Write("\n");
}

풀이 1에 불필요한 게 많아 보여서 배열 없애고 int n을 만들어서 출력


구름 귀엽ㅋㅋ

설명 친절한 문제가 최고야

반응형

'Algorithm > BAEKJOON' 카테고리의 다른 글

[C#]백준 5671 호텔 방 번호 - Hide  (1) 2024.10.07
[C#]백준 17176 암호해독기 - Hide  (0) 2024.10.06
[C#]백준 15720 카우버거 - Hide  (3) 2024.10.04
[C#]백준 4158 CD - Hide  (1) 2024.10.03
[C#]백준 1543 문서 검색 - Hide  (0) 2024.10.02

+ Recent posts