Click here to Skip to main content
15,921,646 members

Welcome to the Lounge

   

For discussing anything related to a software developer's life but is not for programming questions. Got a programming question?

The Lounge is rated Safe For Work. If you're about to post something inappropriate for a shared office environment, then don't post it. No ads, no abuse, and no programming questions. Trolling, (political, climate, religious or whatever) will result in your account being removed.

 
GeneralRe: Coding Challenge - Morris Sequence Pin
Member 135526891-Dec-17 13:22
Member 135526891-Dec-17 13:22 
GeneralRe: Coding Challenge - Morris Sequence Pin
Dave Kreskowiak1-Dec-17 13:48
mveDave Kreskowiak1-Dec-17 13:48 
GeneralRe: Coding Challenge - Morris Sequence Pin
Member 135526893-Dec-17 10:47
Member 135526893-Dec-17 10:47 
GeneralRe: Coding Challenge - Morris Sequence Pin
Dave Kreskowiak3-Dec-17 10:57
mveDave Kreskowiak3-Dec-17 10:57 
GeneralRe: Coding Challenge - Morris Sequence Pin
Member 1355268916-Dec-17 1:35
Member 1355268916-Dec-17 1:35 
GeneralRe: Coding Challenge - Morris Sequence Pin
Dave Kreskowiak16-Dec-17 4:46
mveDave Kreskowiak16-Dec-17 4:46 
GeneralRe: Coding Challenge - Morris Sequence Pin
PIEBALDconsult1-Dec-17 18:54
mvePIEBALDconsult1-Dec-17 18:54 
GeneralRe: Coding Challenge - Morris Sequence Pin
Kenneth Haugland1-Dec-17 20:48
mvaKenneth Haugland1-Dec-17 20:48 
So I stored booleans in a file:
string Morris(int S, int N)
        {            
            string projectPath = System.IO.Path.GetFullPath(@"..\..\..\");
            using (BinaryWriter writer = new BinaryWriter(File.Open(projectPath + "input.txt", FileMode.Create)))
            {
                writer.Write(S > 2);
                writer.Write(S == 2);
            }


            for (int i = 1; i < N; i++)
            {
                Debug.WriteLine(i+1);

                using (BinaryReader reader = new BinaryReader(File.Open(projectPath + "input.txt", FileMode.Open)))
                {
                    int count = 1;
                    bool currMSB = reader.ReadBoolean();
                    bool currLSB = reader.ReadBoolean();

                    bool nextMSB, nextLSB;

                    using (BinaryWriter writer = new BinaryWriter(File.Open(projectPath + "output.txt", FileMode.Create)))
                    {
                        while (reader.BaseStream.Position != reader.BaseStream.Length)
                        {
                            nextMSB = reader.ReadBoolean();
                            nextLSB = reader.ReadBoolean();

                            if ((currMSB == nextMSB) && (currLSB == nextLSB))
                            {
                                count++;
                            }
                            else
                            {
                                writer.Write(count > 2);
                                writer.Write(count == 2);
                                writer.Write(currMSB);
                                writer.Write(currLSB);

                                currMSB = nextMSB;
                                currLSB = nextLSB;
                                count = 1;
                            }

                        }
                        writer.Write(count > 2);
                        writer.Write(count == 2);
                        writer.Write(currMSB);
                        writer.Write(currLSB);
                    }
                }

                File.Delete(projectPath + "input.txt");
                System.IO.File.Copy(projectPath + "output.txt", projectPath + "input.txt");
                System.IO.File.WriteAllText(projectPath + "output.txt", string.Empty);
            }


            StringBuilder output = new StringBuilder();
            using (BinaryReader reader = new BinaryReader(File.Open(projectPath + "input.txt", FileMode.Open)))
            {
                bool nextMSB, nextLSB;
                while (reader.BaseStream.Position != reader.BaseStream.Length)
                {
                    nextMSB = reader.ReadBoolean();
                    nextLSB = reader.ReadBoolean();
                    if (nextMSB)
                        output.Append("3");
                    else
                    {
                        if (nextLSB)
                            output.Append("2");
                        else
                            output.Append("1");
                    }

                }
            }

            return output.ToString();
        }


Seems to work quite well, but what did you do?
GeneralRe: Coding Challenge - Morris Sequence Pin
Dave Kreskowiak2-Dec-17 5:16
mveDave Kreskowiak2-Dec-17 5:16 
GeneralRe: Coding Challenge - Morris Sequence Pin
Kenneth Haugland2-Dec-17 7:19
mvaKenneth Haugland2-Dec-17 7:19 
GeneralRe: Coding Challenge - Morris Sequence Pin
Dave Kreskowiak2-Dec-17 7:53
mveDave Kreskowiak2-Dec-17 7:53 
GeneralRe: Coding Challenge - Morris Sequence Pin
Kenneth Haugland2-Dec-17 17:29
mvaKenneth Haugland2-Dec-17 17:29 
GeneralRe: Coding Challenge - Morris Sequence Pin
Dan Sutton2-Dec-17 6:58
Dan Sutton2-Dec-17 6:58 
GeneralRe: Coding Challenge - Morris Sequence Pin
Dave Kreskowiak2-Dec-17 7:57
mveDave Kreskowiak2-Dec-17 7:57 
GeneralRe: Coding Challenge - Morris Sequence Pin
Member 131943022-Dec-17 11:06
Member 131943022-Dec-17 11:06 
GeneralRe: Coding Challenge - Morris Sequence Pin
Dave Kreskowiak4-Dec-17 4:17
mveDave Kreskowiak4-Dec-17 4:17 
GeneralRe: Coding Challenge - Morris Sequence Pin
Member 131943024-Dec-17 4:22
Member 131943024-Dec-17 4:22 
GeneralRe: Coding Challenge - Morris Sequence Pin
Dave Kreskowiak4-Dec-17 6:39
mveDave Kreskowiak4-Dec-17 6:39 
GeneralRe: Coding Challenge - Morris Sequence Pin
Member 131943024-Dec-17 6:51
Member 131943024-Dec-17 6:51 
GeneralRe: Coding Challenge - Morris Sequence Pin
Dave Kreskowiak4-Dec-17 11:25
mveDave Kreskowiak4-Dec-17 11:25 
GeneralRe: Coding Challenge - Morris Sequence Pin
Member 131943025-Dec-17 2:42
Member 131943025-Dec-17 2:42 
GeneralRe: Coding Challenge - Morris Sequence Pin
Dave Kreskowiak5-Dec-17 3:56
mveDave Kreskowiak5-Dec-17 3:56 
GeneralRe: Coding Challenge - Morris Sequence Pin
Dave Kreskowiak5-Dec-17 15:40
mveDave Kreskowiak5-Dec-17 15:40 
GeneralRe: Coding Challenge - Morris Sequence Pin
Member 131943026-Dec-17 3:13
Member 131943026-Dec-17 3:13 
GeneralRe: Coding Challenge - Morris Sequence Pin
Dave Kreskowiak6-Dec-17 4:57
mveDave Kreskowiak6-Dec-17 4:57 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.