본문 바로가기

분류 전체보기37

반복문 for, while, forEach, map - [Javascript 입문 _9] 이번 포스팅은 반복문에 대해서 이야기해보려고 합니다. 친구들이랑 얘기하다보면, 혹은 인터넷 커뮤니티 글들을 보다보면 공대 출신 혹은 프로그래머 출신들이 종종 '무한 루프'라는 단어를 사용하는 것을 볼 수 있습니다. 여기서 루프는 고리, 고리로 만들다 라는 의미를 가지고 있죠. 프로그래밍 세계에서 루프는 어떤 일련의 과정의 반복과 순환을 의미합니다. 그래서 무한 루프에 빠졌다라는 말은 반복문에서 벗어나지 못해서 프로그램이 에러가 났다라고 해석할 수 있습니다. 우리의 일상 생활 속에도 반복이라는 개념은 정말 많은 곳에 존재하고 있습니다. 예를 들어볼까요? ✏️To Muko 🗓Muko@tistory.com 안녕하세요, muko님. 티스토리 블로그입니다. muko님의 블로그에 너무나도 좋은 IT 교육 자료가 많.. 2020. 4. 15.
for문 편(1) - Node.js로 [백준/BOJ] 단계별로 풀어보기를 풀어보다 BOJ 단계별로 풀어보기 'for문' - 1편 저번 포스팅에는 if을 다루었었고, 이번 포스팅에서는 반복문 중에서도 for문에 대해서 문제를 모아놓은 것을 풀어보도록 하겠습니다. 사실 백준 단계별로 풀어보기의 이번 단계 이름이 for문 이라고 작성되어있지만, 반복문을 동작시킬 수 있는 다른 문법을 사용해도 문제를 푸는게 가능합니다. 가장 보편적이고 처음에 직관적으로 이해하기 쉬운 것이 for문이라서 이렇게 이름을 작성한 것 같아요. 물론 for문과 while문의 사용방법이 조금 다르긴 하지만 동일하게 작동이 가능한데, 백준에서는 어떤 상황에서 각 반복문 문법을 사용하는 것이 좋은지 나름 생각해서 for문 편과 while문 편을 나누어서 문제집을 만들어 놓았더라구요. 핵심은 '어떤 문법이 항상 정답처럼 사.. 2020. 4. 14.
'숫자 야구게임 만들기' 토이 프로젝트(2) - [Javascript 입문 _8] 저번 포스팅에서 보여주는 부분은 완성했지만, 숫자 야구게임을 완성시키기는 다음과 같은 5가지 함수를 구현해야 했습니다. 제출 숫자는 4자리 체크 숫자 중복 체크 정답인지 아닌지 체크 힌트 제공 함수 정답 시도 횟수 10번 이내인지 체크 지금부터 하나씩 구현해보도록 해보죠! 4자리 체크 함수 우선은 사용자가 입력한 숫자가 4자리인지 체크하는 함수를 만들어보겠습니다. 현재 제가 숫자 야구게임 1편에서 작성한 javascript 코드에는 입력한 숫자가 String으로 넘어오게끔 되어있습니다. 만약 숫자라면 1000이상 10000미만 인지 체크하는 조건문을 사용하면 되고, 지금과 같은 상황이면 length가 4인지 체크하면 됩니다. 아래 코드처럼요! const isFourDigits = (number) => {.. 2020. 4. 12.
'숫자 야구게임 만들기' 토이 프로젝트(1) - [Javascript 입문 _8] 이번 시간에는 흔히들 수업시간에 공부하기 싫어서, 지하철이나 버스타면서 친구와 장난칠 때, 군대에서 시간 보내기 용으로 많이하던 숫자 야구게임을 만들어보겠습니다. 숫자 야구 게임이 무엇인지 모르는 분들을 위해 설명하면, 문제 출제자가 4자리 수의 숫자를 생각하고 다른 한 사람이 그 숫자를 10번의 기회 안에서 맞춰야 합니다. 다만 아무런 힌트가 없다면 10번 안에 문제 출제자가 생각한 4자리 숫자를 맞추는 것이 불가능하므로, 출제자는 답을 맞추려는 시도 때마다 힌트를 넘겨주어야 합니다. 게임 이름이 숫자 야구게임인 이유는 힌트를 주는 형식 때문입니다. 정확하게 숫자와 자리수까지 일치할 경우 스트라이크(S), 숫자는 존재하는데 위치가 다를 경우 볼(B)을 넘겨줍니다. 예를 들어볼게요. 출제자: 5329 참.. 2020. 4. 12.
if문 편 - Node.js로 [백준/BOJ] 단계별로 풀어보기를 풀어보다 BOJ 단계별로 풀어보기 'if문' 저번 포스팅에 이어, 이번에는 백준 단계별로 풀어보기의 두 번째인 if문 편에 대해서 작성하려고 합니다. 프로그래밍 언어를 배우고, 공부하고 익히는데는 문제를 풀어보면서 직접 코딩하는 것이 최고입니다. 책이나 유튜브 영상, 블로그 글을 보면서 예제를 따라치는 것도 좋지만 재미가 없잖아요! 직접 코딩하고 그 결과가 눈에 보이는 재미를 느끼면서 공부하는 것이 최고라고 생각합니다. 백준 사이트를 아직 모르신다면, 그리고 프로그래밍이나 코딩 공부를 접한지 얼마 되지 않으셨다면, 혹은 비전공자라면 백준 사이트에 들어가셔서 가입해보세요! 그리고 문제를 풀 때마다 마이페이지에 들어가면 푼 문제 수와 랭킹이 나오는데, 이 랭킹을 올리는 재미도 쏠쏠합니다. 그럼 if문을 풀어보도록 하.. 2020. 4. 12.
입출력과 사칙연산 편 - Node.js로 [백준/BOJ] 단계별로 풀어보기를 처음 풀어보았다. BOJ 단계별로 풀어보기 '입출력과 사칙연산' 단계별로 풀어보기는 윗 부분은 알고리즘이라고 하기에는 단순히 사용하는 언어의 문법을 아는가에 대한 문제가 많이 존재합니다. 새로운 언어로 프로그래밍을 하는 요즘, 제가 주로 사용하는 언어로 알고리즘을 풀어보고 싶다는 생각이 들어서 포스팅을 시작하려고 합니다. 1. BOJ 2557 - Hello World 이 문제는 Hello World! 를 출력하라는 문제로, 해당 언어로 문자열을 출력할 수 있느냐고 물어보는 문제입니다. 자바스크립트에서는 한 줄이면 되므로 아주 간단하게 풀었습니다. 코드 접기/펼치기 console.log('Hello World!'); 2. BOJ 10718 - We love kriii 이 문제도 마찬가지로 주어진 문장을 출력할 수 있는가에 .. 2020. 4. 11.
'클리커 게임(Clicker)' 토이 프로젝트 - [Javascript 입문 _7] 벌써 글 순서가 7번까지 왔습니다. 여기까지 따라오시느라 고생하셨습니다. 이번에는 단순히 이론을 공부하면서 코드를 따라치는 것을 넘어서 실제로 간단한 프로그램을 만들어보려고 합니다. 1장에서 설명드렸었던 홈페이지에서 구현하는 것도 방법이지만, 프로젝트를 진행하는 만큼 실제 개발자들이 많이 사용하는 프로그램 위에서 코드를 작성해봅시다. 이 글을 잘 따라오시면, 우리도 카페에 앉아서 개발자 티를 내는 것이 가능합니다. 이번 토이 프로젝트 주제는 클리커 게임(Clicker) 입니다. 여기에 필요한 이론은 이전 포스팅에서 설명했으니 목차를 보시고 생소하거나 잘 모르겠다는 주제가 있으면 한 번 검토하시고 계속해서 글을 읽어주시기 바랍니다. [JavaScript 입문] 1. 시작, 그리고 변수와 상수, 자료형 [J.. 2020. 4. 9.
조건문 if, switch case - [Javascript 입문 _6] 8. 조건문 우리는 살면서 많은 선택을 하게 됩니다. 프로그래밍 또한 마찬가지 입니다. 코드를 작성하면서 조건에 따라 진행하는 과정이 달라지게끔 구현해야하는 경우가 많습니다. 이럴 때 프로그래밍에서는 조건문이라는 문법을 사용합니다. 자바스크립트에서 조건문은 크게 세가지 입니다. if, else if, else switch, case ? (삼항 연산자) 하나씩 살펴보도록 하겠습니다. 8-1. if와 else if문은 if ( 조건... )과 같은 형식으로 사용합니다. 괄호 안에 들어있는 조건을 평가한 뒤에, 그 결과를 불린형으로 변환한 값이 true이면 그 뒤에 중괄호 안에 코드를 실행하고, false이면 실행하지 않습니다. 선택지가 true일 경우와 false일 경우 두 갈래로 나뉘는 거죠. 불린형으로의.. 2020. 4. 8.
불리언(boolean)과 연산자 - [Javascript 입문 _5] 6. 불리언(boolean) 자바스크립트 뿐만 아니라 프로그래밍 언어에는 참을 의미하는 true와 거짓을 의미하는 false라는 값이 존재합니다. - false를 의미하는 값들(falsy value) undefined null 0 -0 NaN false "" '' 여기서 NaN은 잘못된 숫자 연산을 했을 때 반환되는 값입니다. - true를 의미하는 값들(truthy value) 위에 명시된 값들을 제외한 모든 값입니다. 아래의 5가지의 예시 또한 true를 의미합니다. '0' (0을 포함하는 문자열) 'false' (false를 포함하는 문자열) [] (빈 배열) {} (빈 객체) function() {} (빈 함수) 자바스크립트에서 이러한 falsy value와 truthy value를 boolean.. 2020. 4. 5.
함수, 화살표 함수 - [JavaScript 입문 _4] 이번 시간에 공부할 내용은 함수입니다. 내용이 이해가 안될 수 있으나, 절대 좌절하지 마시고 '이런 개념이 있구나~ 무슨 말인지는 모르겠다!' 하고 넘어가셔도 좋습니다. 키워드만 기억하시고, 추후에 연습할 수 있는 코드를 올릴테니 차례대로 따라오면서 익히시다보면 '아~ 그 때 봤던 설명이 이런 내용이었구나!'라고 이해하시는 순간이 오실겁니다. 어렵다고 포기하지 마세요! 5. 함수 함수는 특정 코드를 하나의 명령으로 실행할 수 있게 해주는 기능입니다. 변수도 하나의 이름에 하나 혹은 여러개의 데이터를 넣을 수 있듯이, 함수 또한 여러줄의 코드를 함수의 이름 하나만 적어도 실행할 수 있게해주는 세탁기의 버튼같은 기능입니다. 위의 사진에서 세탁기를 돌리는데 6가지 모션이 있다고 홍보하는 사진입니다. 우리가 이.. 2020. 4. 4.
배열 - [JavaScript 입문 _3] 4. 배열 객체는 한 변수 혹은 상수에 여러가지 정보를 담기 위한 자료형이라고 말씀드렸습니다. 그런데 위에 설명한 객체와는 다른 방식으로 여러가지 정보를 담을 수 있는배열, 그리고 특정 동작을 수행하는함수도 객체입니다. 이번 파트에서는 배열에 대해서 알아보겠습니다. const array = [1, 2, 3, 'test', {sample: 'code'}]; const emptyArray = []; 배열은 [ ] 로 감싸서 데이터를 표현합니다. 이 배열안에는 어떠한 자료형도 다 들어갈 수 있습니다. 다른 프로그래밍 언어를 먼저 배우신 분들은 이러한 배열의 모습이 너무나도 생소할 텐데요, 자바스크립트에서 배열의 특징은 배열의 길이를 미리 정할 필요가 없다는 점, 그리고 함수 또한 배열의 요소로 넣을 수 있다는.. 2020. 4. 3.
객체(Object) - [JavaScript 입문 _2] 3. 객체 (Object) 이전 시간에 배웠던 변수는 데이터를 저장할 수 있는 공간이고, 이 데이터는 계속해서 바뀔 수 있는 값이라고 설명했었습니다. 그리고 그 값으로 들어올 수 있는 자료형에 대해서 알아보았습니다. 그런데 말입니다... 만약에 변수에 저장하는 값이 하나가 아니라 복합적으로 여러개를 가지게끔 하고 싶다면 어떻게 해야할까요? 예를들어 이번에 새로나온 갤럭시 z 플립을 데이터로 저장하고 싶다면? 위의 사진에서와 같이 z플립 하나만 해도 여러가지 정보가 포함되어 있습니다. 이 것을 일일히 변수를 만들어서 값을 대입하는 형식으로 하면, z플립 하나를 호출하기 위해서 찾아야하는 변수가 너무 많겠죠? 이럴 때 유용하게 쓰이는 것이 바로 객체입니다. 객체는 우리가 변수 혹은 상수를 이용해서 하나의 이.. 2020. 4. 3.