WIL 이번주를 돌아보며

알고리즘

- 알고리즘이란?

  • 알고리즘(라틴어, 독일어: Algorithmus, 영어: algorithm )이란 어떠한 문제를 해결하기 위한 여러 동작들의 모임이다. 유한성을 가지며, 언젠가는 끝나야 하는 속성을 가지고 있다. 수학과 컴퓨터 과학에서 알고리즘이란 작동이 일어나게 하는 내재하는 단계적 집합이다. 알고리즘은 연산, 데이터 진행 또는 자동화된 추론을 수행한다.

  • 알고리즘은 다음의 조건을 만족해야 한다.

입력 : 외부에서 제공되는 자료가 0개 이상 존재한다.
출력 : 적어도 2개 이상의 서로 다른 결과를 내어야 한다.(즉 모든 입력에 하나의 출력이 나오면 안됨)
명확성 : 수행 과정은 명확하고 모호하지 않은 명령어로 구성되어야 한다.
유한성(종결성) : 유한 번의 명령어를 수행 후(유한 시간 내)에 종료한다.
효율성 : 모든 과정은 명백하게 실행 가능(검증 가능)한 것이어야 한다.

알고리즘을 하며 느낀점

  • 이번 주간에 백준의 알고리즘 문제를 풀며 공부를 진행했습니다. 1주일간 진행 되는 과정이었기에
    난이도가 낮은 문제들을 푸는 과목이구나 생각하고 가볍게 생각했습니다. 히지만 정작 문제를 보고
    풀어 보았는데 문장을 보고 코드를 짜라니..? 이건 뭐 논술문제 처럼 자기 스스로 무에서 유를 창조 해야 했습니다.

  • 특별하게도 이번 주간은 기존의 조가 아닌 1회차 내에서 랜덤으로 조를 개편해서 운영되었습니다.
    그래서 저희 조는 김은아님, 이호상님, 신한국님 그리고 저 4명이서 이루어 지게 되었는데 이호상님이
    상당한 실력자라는것을 알게 되었습니다. 그래서 잘 못푸는 문제나 설명이 어려운 문제들을 알아듣기 쉽게 설명도 도와주시고 본인이 어떻게 공부하는지 꿀팁들도 말해주셨습니다.

  • 이제 2일이 남은 현재 시점에서 아직도 알고리즘에 대해 큰 지식을 얻지 못했고 문제들을 반복해서 풀어보거나 남들이 풀어놓은 문제들을 보면서 코드를 어떻게 짜야하는지 그 흐름을 이해하고 있습니다. 주말내내 보았지만 아직도 감을 크게 잡고 있지 못하고 있습니다. 그래도 앞으로 코딩 할 시간이 많이 남았기때문에 이번주간이 아니더라도 꾸준하게 공부해서 문제를 쉽게 풀어나갈수 있는 발판을 다지고 싶습니다.

나의 상황과 비슷한 것

  • 저는 지금 갓 태어난 세포라고 생각합니다. 아직 사회 초년생인 저는 성장할 가능성이 많다고 생각합니다. 여러 세포들이 한곳에 모여 진화를 하며 성장해 나가는데 누구는 조금 더 빨리 분열하여 몸집을 키우는데 저는 느리지는 않지만 그래도 좀 더디게 성장을 하고있는것 같습니다. 알고리즘 뿐만 아니라 웹서비스 개발 과제중에도 느낀거지만 세상에 참 열심히 사는 사람이 많고 정말 능력이 많은 사람이 많다는것을 느꼈습니다. 그래서 세포마다 성장속도가 다른 그 상황에 저를 비유했습니다. 저도 언젠가 꼭 진화를 성공해서 멋진 생물이 될수 있도록 더 열심히 성장 할것입니다.

명언

  • 중요한 것은 학습을 중단하지 않고, 도전을 즐기고, 애매모호함을 받아들이는 것이다. 종국에는 확실한 해답은 없기 마련이다.

What is important is to keep learning, to enjoy challenge, and to tolerate ambiguity. In the end there are no certain answers.

                    -마티나 호너
			Martina Horner

좋은 웹페이지 즐겨찾기