태지쌤

로봇 & 코딩교육 No.1 크리에이터

이것저것

[컴퓨팅사고력] 블록코딩 엔트리/스크래치 회문 판별 알고리즘

태지쌤 2024. 8. 20. 18:30
반응형

안녕하세요? 로봇 & 코딩교육

No.1 크리에이터 태지쌤이에요.

여러분은 회문에 대해 들어보셨나요?

회문이란 앞에서부터 읽든

뒤에서부터 읽든

똑같은 말이나 문장을 뜻합니다.

좀 더 쉽게 말하면,

거울에 비친 모습처럼

앞뒤가 똑같은 글자 배열이라고 생각하면 됩니다.

이런 회문을 자동으로 체크하는 프로그램을

블록코딩 엔트리로 만들어볼게요.

일단 묻고 대답 기다리기 명령 블록을 이용해서

사용자로부터 검사할 단어나 문장을 입력받아요.

사용자가 입력한 단어나 문장을

대답 변수에 저장한 후

최종적으로 단어 변수에 저장해요.

그리고 n이라는 변수는 반복문에서 사용할거에요.

 

반복횟수를 생각해볼게요.

몇 번을 반복해야할까요?

단어의 글자수를 2로 나눈 몫만큼 반복해야해요.

만약 글자가 4글자라면 'noon'

2번 반복하면 되겠죠.

만약 글자가 5글자라면 'level'

가운데 철자는 체크 안해도 되니까

이번에도 역시 2번 반복하면 됩니다.

이걸 일반화하면 단어의 글자수를 구한 후

이걸 2로 나눠서 그 몫만큼 반복합니다.

 

이제 반복문 안에 들어가는

조건문을 생각해볼까요?

첫번째 철자와 마지막 철자가

동일한지 검사해야합니다.

첫번째 철자는 아래와 같이

쉽게 구할수가 있어요.

현재 n에는 1이 들어가있으니까요.

마지막 철자는 어떻게 구할 수 있을까요?

아래와 같이 구할 수 있습니다.

이제 첫 글자와 마지막 글자가 같은지 판별합니다.

그리고 만약 같으면

이제 한 단계 안쪽을 검사하기 위해서

n을 1 키워주면 됩니다.

그러면 이번에는 두 번째 글자와

끝에서 두번째 글자를 비교하겠죠.

조건문이 거짓이면 회문이 아니라고 출력하고

더 이상 반복이 필요없으니 코드를 멈춥니다.

그리고 모든 반복을 마무리 할 때까지

거짓이 없이 참인 경우에는

반복문을 빠져아와서 맞습니다를 출력합니다.

이렇게하면 아래와 같은

전체코드가 완성됩니다.

https://link.coupang.com/a/bOyXX3

 

송쌤의 엔트리 게임 코딩 학교:초등 SW교과서 저자인 송쌤과 함께하는 엔트리 게임 코딩! - 국내

쿠팡에서 송쌤의 엔트리 게임 코딩 학교:초등 SW교과서 저자인 송쌤과 함께하는 엔트리 게임 코딩! 구매하고 더 많은 혜택을 받으세요! 지금 할인중인 다른 국내도서 제품도 바로 쿠팡에서 확인

www.coupang.com

반응형