본문 바로가기
엔트리메뉴/엔트리코딩시험-알고리즘

엔트리-선형검색

by flycoding 2022. 9. 10.
반응형

엔트리 -선형검색

 

엔트리 코딩시험에서 알고리즘의 가장 핵심적인 부분이 변수, 반복문, 조건, 함수이다.

 

코딩에서 가장 기본이 되는 알고리즘은 검색이다. 선형검색은 가장 기본이 되는 검색으로 리스트의 자료들을 순차적으로 검색해서 자료를 검색하는 알고리즘이다. 장점으로는 코드가 쉽고 이해하기 쉽지만, 단점으로는 자료를 검색하는 속도가  느리다.

 

요구사항

리스트에 10개의 숫자를 1~100 사이의 난수를 발생하여 삽입한다.

입력한 리스트의 숫자값들 중에서 검색하기 위해 숫자를 입력하고 해당 숫자를 검색한다.

 

분석 및 설계

. 변수만들기

  - num : 10개의 숫자를 저장하는 리스트 변수이다.

  - i : 리스트에 인덱스를 저장하는 변수이다.

  - n : 키보드로부터 찾고자 하는 값을 입력받아 저장하는 변수이다.

 

. 스프라이트

  . 고양이 스프라이트 : 실제 입력과 검색을 행하는 스프라이트

  . 입력 버튼 스프라이트 : 고양이 스프라이트에 '입력' 메시지를 보내는 스프라이트이다.

  . 찾기 버튼 스프라이트 : 고양이 스프라이트에 '찾기' 메시지를 보내는 스프라이트이다.

 

엔트리-선형검색 오브젝트들

 

. 초기화

 

. 입력 신호를 받았을 때

  . num 리시트 변수의 항목을 모두 삭제하기

  . 10회 반복하며 1~100 사이의 난수를 num 리스트에 추가한다.

 

. 찾기

  . 찾고자 하는 수를 키보드로부터 입력받아 n 변수에 저장한다.

  . 10회 반복하며

    . n과 num(i)항목 값이 같다면

      "i번째에서 찾았습니다" 말하기

     모두멈추기

  . 아니면, i=i+1

 

블럭코딩

 

. 입력 오브젝트를 클릭했을 때
  . num 리시트 변수의 항목을 모두 삭제하기
  . 10회 반복하며 1~100 사이의 난수를 num 리스트에 추가한다.

 

엔트리-선형검색 입력오브젝트 클릭했을때

 

 찾기 오브젝트를 클릭했을때
  . 찾고자 하는 수를 키보드로부터 입력받아 n 변수에 저장한다.
  . 10회 반복하며
    . n과 num(i)항목 값이 같다면
      "i번째에서 찾았습니다" 말하기
     모두멈추기
  . 아니면, i=i+1

엔트리-선형검색 알고리즘

 

* 디버깅

* 입력버튼을 클릭했을 때

 

엔트리-선형검색 입력오브젝트 클릭했을 때

 

* 찾기 버튼 스프라이트를 클릭했을 때

 

. 키보드로부터 찾고자 하는 값을 입력받는다. 70을 입력한다. 그러면 n에 70값이 저정된다.

 

엔트리-선형검색 찾기오브젝트 클릭했을때 검색 값 입력화면

 

 

n=70

i=1

 

[1스텝]

if n = num(1) 항목 (70 = 86, false)

아니면

   i =+1 (i=2)

 

[2스텝]

if n = num(2) 항목 (70 = 44, false)

아니면

   i =+1 (i=3)

 

[3스텝]

if n = num(3) 항목 (70 = 62, false)

아니면

   i =+1 (i=4)

 

[4스텝]

if n = num(4) 항목 (70 = 43, false)

아니면

   i =+1 (i=5)

 

[5스텝]

if n = num(5) 항목 (70 = 27, false)

아니면

   i =+1 (i=6)

 

[6스텝]

if n = num(6) 항목 (70 = 70, true)

  "7번째에서 찾았습니다." 말하기

   멈추기(모두)

 

 

* 실행 결과물

'입력' 버튼 스프라이트를 클릭했을 때 num 리스트 변수에 10개의 난수값이 추가된다.

 

엔트리-선형검색 입력오브젝트 클릭했을 때

 

찾기 오브젝트를 클릭했을 때 실행화면이다.

그러면 찾고자 하는 수를 입력받는 화면이 나온다.

여기서는 70이라는 수를 찾고자 한다.

 

엔트리-선형검색 찾기오브젝트 클릭했을때 검색 값 입력화면

 

50을 클릭한 후에 결과 화면은 아래와 같다.

 

엔트리-선형검색 검색결과 화면

 

 

엔트리를 통해 선형검색 알고리즘을 구현해보았다. 프로그램 코딩 기법에서는 리스트의 i번째 항목을 가져오고 비교하여 같으면 찾는 간단한 알고리즘이다. 간단하지만, 매우 중요한 인덱스 개념을 활용하는 것이고, 인덱스 코딩 기법은 모든 프로그램의 기본이기 때문에 여러번 반복하면서 자기 것으로 습득할 것을 추천한다.

 

선형 검색 알고리즘은 특별한 알고리즘이 필요하지 않다. 리스트의 첫번째부터 순차적으로 항목을 비교한다.

 

다시 한번 강조해서 말하지만, 변수의 값이 각 프로그램 단계별 순차적으로 어떻게 변화하는지 추척하는 것이 매우 중요하다. 블럭을 하나씩 쌓으면서 변수 볼륨 값의 변화를 살펴보자. 코딩은 눈으로 보면서 이해하고 학습하지만 직접 블럭을 쌓으며 이해하고 학습하는 것이 더 효과적이며 창의와 이해의 개념이 ~쑥 늘어납니다. 

앞으로의 여러분의 모습을 기대합니다.

 

Just Do it!!!

Just Drag&Drop!!!

 

MagneticFieldSen

 

반응형

댓글