자료구조
스택연습문제 (받아쓰기)
hyunjin-dev-log
2021. 12. 25. 23:58
using System;
using System.Collections;
namespace HelloWorld
{
class App
{
private int sum;
public App()
{
Stack stack = new Stack();
//보기1
int[] arr1 = new int[] { 1, 0, 2 };
Console.Write("보기1 : ");
foreach (int element in arr1)
{
Console.Write("{0} ", element);
}
Console.WriteLine();
Console.Write("보기1 합 요소: ");
for (int i = 0; i < arr1.Length; i++)
{
stack.Push(arr1[i]);
if (arr1[i] == 0)
{
stack.Pop();
stack.Pop();
}
}
int[] arr2 = new int[arr1.Length];
for (int i = 0; i < arr1.Length; i++)
{
if (stack.Count != 0)
{
object popStack = stack.Pop();
arr2[i] = (int)popStack;
Console.Write("{0} ", arr2[i]);
sum += arr2[i];
}
}
Console.WriteLine();
Console.WriteLine("보기1 합: {0}", sum);
Console.WriteLine();
//보기2
sum = 0;
int[] arr3 = new int[] { 1, 0, 2, 2, 2, 0, 0, 1, 3 };
Console.Write("보기2 : ");
foreach (int element in arr3)
{
Console.Write("{0} ", element);
}
Console.WriteLine();
for (int i = 0; i < arr3.Length; i++)
{
stack.Push(arr3[i]);
if (arr3[i] == 0)
{
stack.Pop();
stack.Pop();
}
}
int[] arr4 = new int[arr3.Length];
Console.Write("보기2 합 요소: ");
for (int i = 0; i < arr3.Length; i++)
{
if (stack.Count != 0)
{
object popStack = stack.Pop();
arr4[i] = (int)popStack;
Console.Write("{0} ", arr4[i]);
sum += arr4[i];
}
}
Console.WriteLine();
Console.WriteLine("보기2 합: {0}", sum);
Console.WriteLine();
//3.
sum = 0;
int[] arr5 = new int[] { 2, 3, 3, 0, 1, 1, 1, 0, 0, 2 };
Console.Write("3문 : ");
foreach (int element in arr5)
{
Console.Write("{0} ", element);
}
Console.WriteLine();
for (int i = 0; i < arr5.Length; i++)
{
stack.Push(arr5[i]);
if (arr5[i] == 0)
{
stack.Pop();
stack.Pop();
}
}
int[] arr6 = new int[arr5.Length];
Console.Write("3문 합 요소: ");
for (int i = 0; i < arr5.Length; i++)
{
if (stack.Count != 0)
{
object popStack = stack.Pop();
arr6[i] = (int)popStack;
Console.Write("{0} ", arr6[i]);
sum += arr6[i];
}
}
Console.WriteLine();
Console.WriteLine("3문 합: {0}", sum);
Console.WriteLine();
//4.
sum = 0;
int[] arr7 = new int[] { 1, 3, 5, 4, 0, 0, 7, 0, 0, 6 };
Console.Write("4문 : ");
foreach (int element in arr7)
{
Console.Write("{0} ", element);
}
Console.WriteLine();
for (int i = 0; i < arr7.Length; i++)
{
stack.Push(arr7[i]);
if (arr7[i] == 0)
{
stack.Pop();
stack.Pop();
}
}
int[] arr8 = new int[arr7.Length];
Console.Write("4문 합 요소: ");
for (int i = 0; i < arr7.Length; i++)
{
if (stack.Count != 0)
{
object popStack = stack.Pop();
arr8[i] = (int)popStack;
Console.Write("{0} ", arr8[i]);
sum += arr8[i];
}
}
Console.WriteLine();
Console.WriteLine("4문 합: {0}", sum);
}
}
}