ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [독서] 누워서 읽는 알고리즘
    독서 2021. 3. 18. 23:07

    알고리즘, 많이 들었다. 

    알고리즘이 중요하다, 중요하다.

    중요성에 대해 많이 듣고, 공부를 하려 했지만. 백준, 프로그래머스의 level1 난이도도 쉽지 않다.

    (익숙하지 않아서라고 믿고 싶다ㅜㅜ)

    일단 어떻게 공부를 해야할지 막막하지만 잘하고 싶다. 

    무엇인가를 잘하기 위해선 대상에게 호감을 표시하고, 시간을 쏟으면 되는 일이기에 조금씩 알고리즘에 대해 알아가려 한다.

     

    사실 교생실습을 할 때, 중3학생들을 가르쳐본 경험이 있다.

    모든 사람은 아니지만, 대부분의 사람들은 중3때 근의 공식에 대해 배운다. 

    우리가 알고 있는 근의 공식의 유도 과정에서 알콰르즈미라는 인도의 수학자가 나온다.

    사실 근의 공식은 일반화된 이차방정식을 일련의 과정을 거치면 나오는 공식인 것이다.

     

    알콰리즈미

    이차방정식의 근을 구하는 것 뿐아니라, 대수학에 여러가지 공헌을 하였고, 그런 의미에서 이분의 이름에 유래해 알고리즘이라는 단어가 생겨났다는 것.. 

     

    이정도가 내가 알고있는 알고리즘의 끝이었다. 

    알고리즘이 어디에 쓰이는지, 어떻게 쓰이는지(이미 사용하고 있을지도 모르겠다)

     

    좀 더 구체적으로 알고싶어서 위 책을 읽게 되었다.

     

    처음 읽을땐 누워서 읽었지만, 점점 누워서 읽지 못하게 되었다.

     

    현재 p.64 까지 읽었는데 재밌는 문제가 있어 적어보려고한다.

     

    1. 99개의 값을 저장할 수 있는 배열 item[0]. item[1] , ... , item[98]이 있다.

    1부터 100까지의 값이 들어 있는 집합 {1,2,3, ...,100} 에서 무작위로 수를 꺼내서 배열에 저장했다.

    집합에 들어 있는 원소의 수는 100개인데 반해서 배열은 값을 99깨까지만 저장할 수 있으므로 집합 안에 하나의 숫자가 남았다. 남은 것이 어느 수인지 확인할 수 있는 프로그램을 작성하라.

     

     

    2. 앞에서 읽으나 뒤에서 읽으나 똑같은 단어를 우리는 '회문'이라고 하고, 영어에서는 '팰린드롬'이라고 한다.

    우리말에서 '기러기'나 영어에서 'eye', 'madam'등이 팰린드롬에 해당한다. 문자열을 입력받아서 입력된 문자가 팰린드롬인지 아닌지 여부를 확인하는 함수를 작성하라. 입력된 문자열이 팰린드롬이면 true를 리턴하고, 아니면 false를 리턴해야 한다.

     

    3. 2199년 7월 2일은 무슨 요일인가?

     

     

     

    어떻게 문제에 접근할지 다른분들의 생각이 궁금하다

     

     


     

     

    더보기

    생각해보면 196이 팰린드롬에 이르게 될 것인가의 여부는 우리게에 특별한 의미를 주지는 않는다.

    그것이 궁극적으로 팰린드롬이 되거나 말거나 우리의 생활은 달라질 것이 없다.

    .....

    그럼에도 불구하고 사람들은 포기하지 않고 계속해서 196을 탐색하고 있다. 이러한 탐색의 과정을 통해서 컴퓨터 자원을 효율적으로 사용할 수 있도록 하는 유익한 알고리즘이 개발되기도 하지만, 사람들이 이러한 탐색에 뛰어드는 동기에는 특별한 이유가 없다. 사람들은 종종 '왜'라는 질문 앞에서 굳이 설명할 길이 없는 그런 일들을 위해서 삶을 바치기도 한다. 아무 대가가 없는데 모험으로 가득 찬 고난의 길을 스스로 떠난다.

     

    인간의 역사도 마찬가지다. 역사는 정해진 길만을 가기 위해서 다람쥐 같은 삶을 반복하는 사람들이 아니라 아무것도 정해지지 않은 미지의 세계에 자신의 삶을 던지는 용기 있는 사람들에 의해서 쓰여진다.

     

     

    댓글

Designed by Tistory.