분류 전체보기
-
BOJ) 행렬알고리즘/백준 2020. 7. 26. 15:37
행렬 1080번: 행렬 첫째 줄에 행렬의 크기 N M이 주어진다. N과 M은 50보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에는 행렬 A가 주어지고, 그 다음줄부터 N개의 줄에는 행렬 B가 주어진다. www.acmicpc.net 풀이 n by m 으로 이루어진 두 행렬이 주어진다. 두 행렬이 같은지 비교하고, 만약 다르다면 3 by 3의 크기만큼 0->1, 1->0 으로 변환할 수 있다. 최소 몇 번을 값을 바꿔야 같아지는지 횟수를 구하는 문제다. 구할 수 없을 때는 -1을 출력한다. Brute force 문제라고 생각해서 전체 탐색을 돌렸다. 특정 알고리즘이 들어가지 않고, 행렬을 비교하고, 다르다면 3 by 3의 행렬값을 뒤짚어주면서 답을 찾았다. 탐색이 끝난 이후에도 한번 더 행렬이 같은지..
-
자바스크립트 구성요소 ~ 함수 만들기Java Script/MDN 정리 2020. 7. 25. 00:09
Active learning: Let's build a function 본격적으로 시작하기 앞서, 기본적인 함수를 만들어봅시다.. function-start.html 파일을 연습하고있는 컴퓨터에 복사하여 저장합니다. HTML 구조는 매우 간단합니다. — body 태그에는 한 개의 버튼이 있습니다. 그리고 style 태그에 메시지 박스를 위한 CSS 블럭이 있습니다. 그리고 비어있는 `` 엘리먼트에 연습할 자바스크립트 코드를 앞으로 쓰겠씁니다.. 다음으로 아래의 코드를 script 엘리먼트에 써봅시다. function displayMessage() { } 마지막으로 아래의 코드를 중괄호 안에 작성합니다. const html = document.querySelector('html'); cons..
-
자바스크립트 구성요소 ~ 함수-재사용 가능한 블록Java Script/MDN 정리 2020. 7. 24. 23:19
함수 vs 메소드 메소드(Methods) Built-in browser functions String의 replace, split, Math의 pow, random , Array의 join 등과 같은 빌트인 함수들 Object 안에 정의된 functions 함수(functions) 일반적으로 생각하는 function 사용자 정의 함수 예시 function draw() { ctx.clearRect(0,0,WIDTH,HEIGHT); for (var i = 0; i < 100; i++) { ctx.beginPath(); ctx.fillStyle = 'rgba(255,0,0,0.5)'; ctx.arc(random(WIDTH), random(HEIGHT), random(50), 0, 2 * Math..
-
BOJ) 로봇 청소기알고리즘/백준 2020. 7. 24. 22:47
로봇 청소기 14503번: 로봇 청소기 로봇 청소기가 주어졌을 때, 청소하는 영역의 개수를 구하는 프로그램을 작성하시오. 로봇 청소기가 있는 장소는 N×M 크기의 직사각형으로 나타낼 수 있으며, 1×1크기의 정사각형 칸으로 나누어 www.acmicpc.net 풀이 푸는데 많은 시간을 소요했다. 현재 위치를 청소한다. 현재 위치에서 현재 방향을 기준으로 왼쪽방향부터 차례대로 탐색을 진행한다. 왼쪽 방향에 아직 청소하지 않은 공간이 존재한다면, 그 방향으로 회전한 다음 한 칸을 전진하고 1번부터 진행한다. 왼쪽 방향에 청소할 공간이 없다면, 그 방향으로 회전하고 2번으로 돌아간다. 네 방향 모두 청소가 이미 되어있거나 벽인 경우에는, 바라보는 방향을 유지한 채로 한 칸 후진을 하고 2번으로 돌아간다. 네 방..
-
BOJ) 사탕 게임알고리즘/백준 2020. 7. 24. 22:38
사탕 게임 3085번: 사탕 게임 문제 상근이는 어렸을 적에 "봄보니 (Bomboni)" 게임을 즐겨했다. 가장 처음에 N×N크기에 사탕을 채워 놓는다. 사탕의 색은 모두 같지 않을 수도 있다. 상근이는 사탕의 색이 다른 인접한 두 칸을 고 www.acmicpc.net 풀이 NxN 크기의 보드에 사탕이 가득 채워져 있다. 사탕의 색이 다른 인접한 두 칸을 골라서 서로 교환한다. 이 때, 모두 같은 색으로 이루어져 있는 가장 긴 연속 부분(행 or 열)을 고른 다음 그 사탕을 다 먹는다. 사탕을 먹을 수 있는 최대 갯수를 구하는 문제다. 알고리즘을 활용한다기 보다 구현에 가까운 문제라고 느꼈고, 간단하게 풀 수 있었다. 맵을 돌면서, 상하좌우에 있는 사탕과 바꾸고, 상/하로 바꿨을 경우에는 해당 행을 검색..
-
자바스크립트 구성요소 ~ 반복문Java Script/MDN 정리 2020. 7. 24. 00:56
나를 계속 붙잡아라 counter 특정 값으로 초기화 된다. 루프의 시작점 exit condition loop가 멈추는 기준이 되는 종료 조건 iterator 끝나는 조건에 도달할 때까지 일반적으로 counter를 각각의 연속된 루프에서 조금씩 증가시킨다. ( 연산을 진행함 => 감소, 곱셈, 나눗셈 등 가능) 수도 코드loop(food = 0; foodNeeded = 10) { if (food = foodNeeded) { exit loop; // We have enough food; let's go home } else { food += 2; // Spend an hour collecting 2 more food // loop will then run again } } 루프의 표준 for (in..
-
자바스크립트 구성요소 ~ 조건문Java Script/MDN 정리 2020. 7. 24. 00:12
Active Learning : 간단한 달력 만들기 링크 var select = document.querySelector('select'); var list = document.querySelector('ul'); var h1 = document.querySelector('h1'); select.onchange = function() { var choice = select.value; let days = 31; // ADD CONDITIONAL HERE if(choice === "February") { days = 28; } else if(choice === "April" || choice === "June" || choice === "September" || ..
-
자바스크립트 첫걸음 ~ 바보같은 이야기 생성기Java Script/MDN 정리 2020. 7. 23. 22:46
시작하기 HTML 예제 파일이 있는 사이트(grab the HTML file)로 이동하여 파일을 카피하여 자기 컴퓨터에 디렉토리을 새롭게 만들고 파일이름 index.html로 저장한다. 이 안에는 예제를 위한 CSS가 포함되어 있다. 또 다른 가공전의 텍스트가 있는사이트 (page containing the raw text) 로 가서 별도의 브라우저 탭으로 열어 놓아라. 이것은 나중에 필요하다. 프로젝트 설명 "랜덤한 이야기 만들기(Generate random story)" 버튼을 누를 때 마다 꾸며진 이야기(silly stories)를 만들어야 한다. "Enter custom name"필드에 값이 입력되어있지 않을 경우 기본 이름을 Bob으로 지정한다. "랜덤한 이야기 만들기(Generate rando..