티스토리 뷰

사실 C#에는 스택이 이미 존재함... 정적 배열로 구현해봤다.

굳이 값을 0으로 초기화하지 않고 index값만 잘 조정해주면 된다.

받아들이는 문자열 비교는 String.CompareTo를 통해 비교하였다. 서로 같으면 0을 출력한다.

* CompareTo보다는 Equals를 쓰도록 하자!


            string[] str;

            string[] keyword = new string[] { "push", "pop", "size", "empty", "top" };

            int[] stack = new int[10000];

            int index = 0;

            int num = int.Parse(Console.ReadLine());

            for(int i = 0; i<num; i++)

            {

                str = Console.ReadLine().Split();

                for(int x = 0; x<keyword.Length;x++)

                {

                    if(str[0].CompareTo(keyword[x]) == 0)

                    {

                        switch (x)

                        {

                            case 0:

                                stack[index++] = int.Parse(str[1]);

                                break;

                            case 1:

                                if (index == 0)

                                    Console.WriteLine("-1");

                                else

                                    Console.WriteLine(stack[--index]);


                                break;

                            case 2:

                                Console.WriteLine(index);

                                break;

                            case 3:

                                if (index == 0)

                                    Console.WriteLine("1");

                                else

                                    Console.WriteLine("0");

                                break;

                            case 4:

                                if (index == 0)

                                    Console.WriteLine("-1");

                                else

                                    Console.WriteLine(stack[index - 1]);

                                break;

                        }

                    }

                }

            }


왠지 모르겠지만 겁나게 느림ㅠ


'■ 알고리즘 > ◻ 백준' 카테고리의 다른 글

[C#] 백준 10845번 : 큐  (0) 2018.08.09
[C#]백준 9012번 : 괄호  (0) 2018.08.09
[C#]백준 10823번 : 더하기 2  (0) 2018.08.09
[C#]백준 10820번 : 문자열 분석  (0) 2018.08.09
[C#]백준 1152번 : 단어의 개수  (0) 2018.08.07
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/09   »
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
글 보관함