모던 웹을 위한 JavaScript + jQuery 입문 3판 25강 - 4장 연습문제 > javascript

무료강좌-디비라

javascript

자바스크립트 강의 리스트

※ 가장 하단이 첫강좌입니다

윤인성 | 모던 웹을 위한 JavaScript + jQuery 입문 3판 25강 - 4장 연습문제

본문

※ 영상을 선명하게 보기 안내
  1. 유튜브 영상에서 오른쪽하단에 톱니바퀴를 클릭합니다.
  2. 팝업목록에서 "품질" 선택하세요.
  3. 원하는 해상도를 선택해주세요.
※ 모바일에서 Wifi가 아니라면 데이타가 소진될 수 있으니 주의바랍니다.
윤인성님의 javascript강의 청각장애인을 위한 자막
15444120326866.jpg

 그 녕하세요 모던 웹을 위한 자바스크립트 제이쿼리 인 먼 3판 25 관객

있구용
이번 강의에서는 117 페이지에 있는 연습 문제를 풀어보도록 하겠습니다
그럼 일단 일반 부터 풀어보도록 할게요 이 전장이 연습문제 에서 입력이
안녕이 들어가 있으면 안녕하세요 를 출력하는 프로그램을 만들었습니다
여기에 반복문을 적용해서 입력을 계속 밝게하고
입력한 문장 또는 현재 시각에 따라서 다양한 질문과 답변을 하는
프로그램을 만들어 보세요 라고 써 있습니다
굉장히 자주 사용되는 것 중에 하나에요 요즘 보시라고 해서 뭐 현재
시간이라고 침에 형제 시간을 알려주고 현재날씨 찌면 현재날씨 알려주고 뭐
이때 여러 가지 뭐 형태소 분석 기능 이라던지 가 들어가지만 가장
기본적인 형태는 바로 요 정도 라고 할 수 있습니다
어쨌거나 그럼 y 반복문을
무한으로 돌리도록 할게요 이어 성
입력을 받고
입력 을 했을 때 이 입력의
저번에 우리가 인덱스 오브 라는 걸 써서 점
인덱스 오브
안녕이라고 있으면
안녕하세요 라고 출력하고
뭐 예를 들어서
에세이 프로퍼
인덱스 오브 론
예를 들어서 아
몇이 라고 치게 되면 아니면 시간이라고 글자가 들어가게 되면 현재 시간을
출력하는 간단한 코드 도 만들 수 있겠고
와 world's 는
뉴 데이트 괄호 열고 다 꼼 캣 가 워즈 로 출력할 수 있겠죠

굉장히 다양하게 만들어 보실수 있을 거에요 그래서 이런 식으로 움
s2 펄을 계속 연결을 해 보면서 뭐 상상에 나래를 조금 더 펼쳐 보시면
좋겠습니다
뭐 & 를 이용할 수도 있겠죠 폴 임 4.2 인덱스 오브 에 잘 있어라
고 있으면
브레이크 키워드로 종료할 수도 있겠구요

뭐 간단하게 세계를 만들어 보았는데요 저장하고 실행해 보도록 하겠습니다
실행을 하게 되면
입력을 해주세요 라는 프롬프트가 나오게 되구요
안녕 이라고 입력을 하면 안녕하세요 라고 출력을 하고
예를 들어서 지금
좀 잘못 만들었는데 몇 시간 이야 라고 쓰게 되면 16:00 입니다
뭐 또 안녕 을 입력하면 안녕합니다 해주게 점
안녕하세요 해주고 잘있어 라고 입력을 하면 안녕히가세요 라고 하고
종료하게 됩니다
뭐 이외에도 다양한 조건을 만들 수 있을 거예요 예를 들어서 변소를 따로
만들어서 이 사람이 안녕을 몇번 이야기를 했냐
한번 이상 이야기를 했다면 왜 또 안녕 이라고 이야기를 하냐 라는 식으로
도 구성할 수 있겠고
보 초보자 단계에서 굉장히 길게 만들수 있는 모 연습용 프로그램 중의
하나이기 때문에 다양하게 만들어 보시기 바랍니다
어쨌거나 이어서 2번과 3번은 거의 하 몸통 이라고 할 수 있겠는데요
굉장히 중요한 형식이기 때문에 2개를 넣어보았습니다
1부터 100까지 더하는 프로그램을 만들어 보세요 1부터 100까지
곱하는 프로그램을 만들어 보세요 인데요
일반적으로 프로그램을 계산하는 프로그램을 만들 때는 아웃풋을 변수로
만들게 되고
초기 값을 넣게 되고 어떤 처리를 하게 된 다음에 2 9 붓을 출력하는
과정을 거치게 됩니다
이때 이 초기값을 성정 하는게 굉장히 중요한데요
1부터 100까지 더한다면 초기 값이 뭐가 돼야 될까를 일단 생각을 해
주셔야 됩니다
예를 들어서 + 의 경우 어떤 10 이라는 값이 있을 때 여기에 몰
더하여 그대로가 될까
뺄셈을 할 때 10에서 뭘 빼야 그대로가 될까를 한번 생각해보도록 합시다

뭐 조금 생각을 해보시면 영 이라는 걸 아실 수 있을거예요 싶다 기영은
0이 되고 10 - 형은 0이 되고 반대로 곱하기 와 나누기에 경우
1이라는 값을 고파 거나 나누면 그대로 값이 유지가 됩니다
이렇게 값에 영향을 주지 않는 값이 일반적으로 초기 값으로 많이 사용이
됩니다
이번에 경우는 1부터 100까지 더하는 프로그램이기 때문에
더 하는거니까 영을 초기 값으로 설정해 주시면 됩니다
이어 성
스포 탭을 찾으셔서 반복문을 만들어주시면 되겠구요 크거나 같다 가 되어야
겠죠 이번엔 그래서 크거나 같다 백이라고 해주시면 되겠고
9 투 세다가 아이를 더 해주시면 간단하게 이번이 완성이 됩니다
요것도 굉장히 자주 사용되는 형태이기 때문에 기억을 해주시면 좋겠구요
초기 값을 어떻게 설정 해야 되는지도 기억을 해 주시면 좋겠습니다
그럼 곧바로 이걸 3번으로 변형을 해볼게요 1부터 100까지 곱하는
프로그램인데요 고 팔 때는 어떠한 녀석이 초기 값이 대야 할지 한번
생각을 해보세요
많은 영어로 두게 되면 0 곱하기 1 0 곱하기 0 곱하기 4 맘에
무조건 영이 나올 거예요 그래서
곱셈 의 경우 또한 마찬가지로 나눗셈 이 경우는 초기 값을 0으로 설정해
주는 경우가 많다 라는 걸 기억을 해 주시면 좋겠습니다
요렇게 적고 곱하기 콜 아이를 해주시면 3번도 완성이라고 할 수 있습니다
다만 여기에서 주의해야 될 것은 var 아이가 0 부터 시작하면 또 0
을 곱해 가지고 영이 나와 버리겠죠
요녀석도 일로 해줘야 된다는 거 기억해 주시면 좋겠습니다
이어서 다 본 같은 경우에는 배열 내부에서 최대값과 최소값을 찾는 코드
인데요
굉장히 많은 회사에서 입사 문제로 되는 문제 중의 하나라고 할 수
있습니다
그럼 한번 같이 풀어보도록 할게요 일단 배열을 만들어 보도록 하겠습니다
어레이 라는 이름으로 만들면 되겠죠 var 어레이는 배열을 넣어주시면
되겠구요
여기에서 아까 마찬가지로 아웃풋을 일단 설정을 해서 초기값을 설정해주시면
됩니다
그럼 일단 이 초기값을 몰로 설정 하면 좋을지 가 첫 번째 문제 되겠구요
뭐 배열이 주어 줬으니까 반복 돌려 이게 점
어레이 점 랭스 를 돌리면 되겠고 여기에 어떤 조건을 쓸 거냐 가 또
두번째 문제라고 할 수 있습니다
처음 보면 대부분 못 풀기 때문에 한번 같이 풀어보고 여러분의 코드를
분석할 수 있는 시간을 드리도록 하겠습니다
일단
최소 깝게 부터 해보도록 할게요 최소값을 찾을 때는 초기값을 굉장히 큰
수를 주시면 됩니다
이어서 조건은 입수 9 부심
어레이의 i 번째 녀석보다 크면
아웃 후 세다가 어레이 에 i 번째 를 넣어주면 최소 값이 찾아줍니다
저장을 하고 한번 실행을 해보도록 할게요
실행을 해 보게 되면 가장 최소 값이 이라고 나오는 것을 확인할 수
있습니다
다시 코드를 보게 되면 52 273 103 32 50 703 31 이
중에 최소값 센 이니까 2 를 출력하는 모습이 맞다는 것을 알 수
있습니다
그럼 한 번 같이 코드를 추적해 보도록 할게요 일단 모아 ofc 엄청나게
큰 소를 초기화가 되고 소 반복문 안으로 들어오게 될 겁니다
일단 아이가 0이 될 거고 아이가 0일 때는
머레이의 아이가
52 가 되겠죠 52 는 9 빛보다 작으니까 9 붓을 무엇이 b 로
만들게 됩니다
따라서 아웃풋이 52 로 변경 이 되구요
두번째로 넘어가게 되면 아이가 일이 되고
어레이 i 번째 그러니까 일반 제가 되죠
273 이 될겁니다 아웃풋이 씻 어 작으니까 요 내부를 들어오지 않아서
아웃풋을 은 그대로
50 미로 유지가 됩니다 이어서 아이가 2번째 일때는 어레이 a 감
103 이 되고 103 은 더 크니까 전 영향을 주지 않아서 아웃풋이
그대로 52
아이가 3이 되면 32 가 되는데요 조건의 일치하기 때문에
아웃풋 을 32로 변화시키게 됩니다 이어서 4번 사과 되게 되면 57
이정 9부 씩 그대로 32 가 되고 아이가 5일 때
103 이 돼서 아웃풋이 그대로 32
아이가 6일 때 아예 유분 32기 돼서
9 푸시 더 작으니까 9시 어레이 아이보다 더 크니까 아웃 을 30일로
변화시키게 되고 아이가 7일 때
어레이 일곱번째는 2가 되겠죠
이녀석이 더 작으니까 아웃풋을 이루 변화를 시켜서 최종적으로 최소 값이
구해 주는 코드입니다
굉장히 조금과 반복문을 배웠을 때 m
딱 생각하기 힘들어요 그래도 한번 보시면 조건 문과 반복문을 이해하는데
큰 도움이 되는 코드가 될 것이라고 생각을 합니다
사실 마구잡이로 숫자를 입력을 해서 큰 수로 만들어 놓았는데요
대부분의 프로그래밍 언어에서는 가장 큰 숫자를 나타내는 값이 있습니다
예를 들어서 자바스크립트 같은 경우에는 넘버 5 점
맥스 밸류를 입력을 하게 되면 자바스크립트에서 표현할 수 있는 가장 큰
초짜 이기 때문에 요런 녀석을 활용을 해서 초기화를 해 주시면 되겠는데요
이는 나중에 배우는 내용이기 때문에 일단 엄청나게 장상 큰 투자를 입력해
준다 라고 생각을 해 주시면 좋겠습니다
요 걸 아시게 되면 이제 반대로 최대값 찾기도 만들어 볼 수 있을
것이라고 생각을 합니다
직접 만들어 보시면 좋겠습니다 어쨌거나 이런 문제를 처음 보시게 되면
이걸 대체 어떻게 푼 야 라고 생각하실 수 있어요 내가 재능이 없는 것
같고
이걸 푸는 애들은 재능이 있는것 같고 그 차이를 결정시키는 건 사실
개인적으로 이 코드를 먼저 받냐 안 봤냐 라고 생각을 해요
이 코드를 한 번이라도 본 적이 있는 사람은 대충 이런 식으로 계산하면
될 거다 라고 인지를 하고 있고 한번도 본 적이 없는 사람은 아마 대부분
풀지 못할 거예요
연습문제 1번 2번 3번 정도는 우리가 일반적으로 수학문제를 풀 때 와
굉장히 비슷한 형태라고 할 수 있어요
1부터 100까지 더 하니까 그냥 더하면 되는거고 1부터 100까지
곱하는 거니까 곱하면 되고 안녕이 들어가 있으면 안녕하세요 출력하면 되고
자리 쏘 들어가 있으면 잘 있어요 를 출력하면 되는데요
4번 같은 경우에는 우린 사실 이런 식으로 최소값을 찿은 않아요
우리 인간이 보기에는 그냥 대충 이렇게 보다가 이거 제일 작은거 같아
하고 일을 찾고 끝나게 됩니다
즉 인간이 생각하는 기본적인 언어의 기술 방식 수학을 푸는 방식과 우리가
컴퓨터에게 명령을 시킬때 사용하는 방식이 다룰 수 있다는 것입니다
예를 들어서 우리 홀수 짝수 짜 질 때는 끝자리가 0 이냐 2녀 다냐
6 2녀 8인 야 이 5개 중에 하나면 우리가 그걸 짝수 라고 부르는데요
컴퓨터 상에서는 어떠한 값을
그냥 나눠 버려요 나머지가 0이면 이걸 짝수 라고 판별합니다 따라서 위의
것은 인간이 생각하는
짝수 찾는 방식이라고 할 수 있겠구요
아래꺼 는 컴퓨터가 생각하는
짝수 찾는 방식이라고 할 수 있습니다
어쨌거나 이런게 생각보다 많아요 그래서 이러한 것은 못지 않으면 사실
몰라요 예를 들어서 우리가 외국에서 살다 온 사람은 그 국가의 언어를 더
잘한다고 표현하라 좀 왜냐하면 한국어로 생각할 수 있는 방식에는 한계가
있어요
예를 들어서 한국어로 난 너무 밥을 많이 먹었어 라고 할 때 너무 를
당연히 앞쪽에 쓰는 거고 밤 많이 먹다 뒤쪽에 쓰게 되는데요
일본에서는 이제 아예 반대예요 밥을 너무나 먹었다가 되요
그래서 아예 너무 라는 단어도 들어가지 않고 다른 접미사를 붙여서 사용을
해서 뭐 탑에 쓰기 맛잇다 라고 하거나
요런식으로 사용하게 되는데요 한국어를 했던 사람이면 당연히 그런 걸
알수가 없겠죠
일본인에게 그걸 듣거나 공부 중에 그걸 보거나 하지 않는 이상 절대 알
수가 없어요
프로그래밍도 마크 잔가지 염 우리는 대부분 인간이 생각하는 짝수 찾기
방식을 사용을 해요 그래서 최대한 이걸 어떻게 활용할 수 있을까 를
고민하게 되는데요
컴퓨터는 아래쪽에 방식으로 구하는 게 훨씬 더 쉽고 훨씬 더 빠릅니다
근데 이 아래꺼 는 사실 우리가 이 용어를 그러니까 이렇게 사용한다는
것을 한번 더 보지 못하면 은 진짜 알 수가 없어요
여기에도 마찬가지로 컴퓨터에서 배열 내 보여서 최대가 추도 깜 어떻게
찬양 보지 않으면 99% 가 이걸 만들지 못해요 따라서 많이 봐야 합니다
코드를 많이 보면 볼수록 컴퓨터가 생각하는 방식을 더욱 더 알 수 있기
때문에 그러한 형태로 사용할 수 있어요
그럼 그러한 형태를 보려면 어떠한 식의 공부를 해야 하냐 가 질문으로
들어올 수 있을거라고 생각을 하는데요
우리가 일반적으로 자료구조 라던지 알고리즘 이라는게 있어요 사실 이걸
전부 공부하는 것은
모든 사람에게 전부 공부하라 고 말할 수는 없을 것이라고 생각을 해요
이게 정말로 100% 외워야 하는 분들도 있을 것이고
외우지 않아도 전혀 상관없는 분도 있고 아예 이걸 몰라도 프로그램을 만들
수 있는 분도 있어요
왜냐하면 컴퓨터 라는 분야가 그만큼 넓기 때문이 정
근데 한번쯤은 그냥 읽어 보시면 좋겠어요
내가 이게 못 내용인즉 모르게 써도 컴퓨터에서는 이러한 식으로 조건을
잡고 이러한 식으로 반복을 돌린다는 것
예를 들어서 배열이 있을 때 가장 중앙에 있는 값은 어떻게 꺼낼 것인가
그런걸 우리가 그냥 혼자서 막 생각을 해서 아라는 굉장히 쉽지 않아요
그럴 때는 남들은 어떻게 했나 접속 살펴보면 되요 그래서 개인적으로
추천드리는 방법은 자료구조 나 알고리즘 책이 했을 때 뭐 어려운 것도
그냥 다 필요없고 한국어로 되어있는 코드 많이 적힌 것을 보시면 곳도
전혀 외우지 마세요 절대 외우는 건 추천드리지 않구요
보면서 조건과 방법이 어떻게 활용 되어 있는지 그 흐름만 확인을 해주면
좋겠습니다
그리고 그 중에서 이건 내가 전혀 생각하지 못했던 거다 라는 게 있으면
그러한 것들만 하나하나 내 머리속에 따로 기억을 시켜 주는게 좋을
것이라고 생각을 합니다
그리고 이때 정말 주의하셔야 될 것은 알고리즘이 굉장히 주의해 주셔야
되는데 알고리즘 일반적으로 사람들이 알고리즘 공부해라 공부하지 마라 할
때 이 알고리즘이 라는 용어 정의 자체가 달라서 서로 다른 싸움을 하는
경우가 있어요 알고리즘을 단순한 정렬 알고리즘 이나
뭐 정말 방법도 굉장히 많은데 2분 정류자 라든지 뭐 법을 소트 라던지
굉장히 많은 정렬 방법이 적혀 있는 녀석이 있고 아니면
요런 탑 코드 알고리즘 트레이닝 체처럼 우리 현질 세상의 문제를 해결하는
방법
두가지의 알고리즘 이라는 용어가 사용이 되요 그래서 사실 반쪽으로
알고리즘을 공부하라는 사람들은 뒤에 걸 말하는 경우가 많고 0
알고리즘 공부할 필요가 없다고 생각하는 사람은 앞에 것을 말하는 경우가
많은데
저같은 경우에는 불다 그냥 간단하게 만 보시면 좋겠어요
왜냐하면 은 알고리즘으로 정렬 같은걸 보다 보면 내가 전혀 예측하지
못했던 몸 배열에서 중앙위 초 어떻게 찾아내 냐 아니면 2 배열을 어떻게
합친 야
2 배열을 어떻게 나눈 야 라는 이런 등의 다양한 뭐 그런 이론들을 좀
볼수 있거든요 그래서 컴퓨터 적으로는 어떻게 생각하는 게 좋냐
그런거를 어느정도 알아낼 수 있기 때문에 뭐 정렬 알고리즘을 다 외울
필요없이 거기에 사용되는 요소들을 한번쯤 보셨으면 좋을 것이라고
생각합니다
어쨌거나 또 주의할 것들 말씀드리면 프로그래밍 언어로 내가 원하는 것을
만드는 과정을 공부를 하면서 그냥 틈틈히 보시기 바래요
지금 제가 알고리즘이 나 자료구조 감 한번쯤 보셨으면 좋겠다 라고
생각했다는 이유로 이거 다 때려치우고 갑자기 그 책을 사셔서 보는 것은
사실 추천드리지 않습니다
정말 어렵고 정말 안 쓰는 그런 분들도 있어요 그래서 그냥 책 간단하게
빌려서라도 보면서 내용을 진행을 해주시면 좋겠습니다
어쨌거나 오늘 강의는 여기까지 되겠고 용 다음 강의에서 뵙도록 하겠습니다
감사합니다.

댓글 0개

등록된 댓글이 없습니다.

 
Total 83건 1 페이지
썸네일
제목

Menu