1. 서론 생활코딩 자바스크립트를 진행중인데, 기초같은 경우 딱히 기록할 만한 부분이 많이 없는 것 같다. 동작방식 등 디테일한 부분에 대해 더 파헤쳐보지 못한 부분은 아쉽지만, 오늘부로 자바스크립트 강의를 마치고, 다른 강의로 넘어가려고 한다. 2. 정리 1) 용어 및 함수 정리 리팩토링 : 코드의 가독성을 높이고, 유지보수를 편리하게 만들고, 중복된 코드를 줄이는 방향으로 코드를 개선하는 작업 this 키워드 : 이벤트 안에서 실행되는 코드에서는 현재 코드가 속해 있는 태그를 가리키도록 약속돼 있는 특수한 키워드 push() : 배열에 값 추가 var coworkers = ["a", "b"]; coworkers.push('c'); coworkers.push('d'); 주/야간 모드 a태그 글자색 변경..
1. 서론 이고잉님의 생활코딩 강의를 엘카데미에서 실습형으로 진행할 수 있도록 바꿔서 가져온 강의 같다. 생활코딩 강의를 굉장히 좋아하는데, 단락을 나눠 컴파일을 바로바로 모바일에서도 진행할 수 있는 부분이 좋았다. 어제에 이어 자바스크립트 기초를 정리하였다. 2. 정리 1. 와 태그의 차이점 와 태그는 모두 영역을 설정하는데 쓰이는 태그이다. 하지만 차이점이 두 가지가 있다. 첫번째로 div태그는 줄바꿈이 자동으로 되고 태그는 줄바꿈이 되지 않는다. 두번째는 영역 지정 방식에 차이가 있다. 태그는 블록 요소로 영역이 브라우저의 양 끝을 모두 차지한다. 태그는 인라인 요소로 태그안에 적힌 문자정보의 길이 만큼만 영역을 차지한다. 2. 내장 함수 document.querySelector() : docume..
1. 서론 계속 자바 알고리즘 풀이만 진행하다가 환기겸 자바스크립트 기초를 다시 보려고 한다. 과목명은 [생활코딩! HTML + CSS + 자바스크립트]이고, HTML & CSS는 건너뛰고 자바스크립트부터 진행하였다. 배운 내용들을 정리해서 작성하려고 한다. 2. 정리 1) 를 최하단에 넣어야 하는 이유 이건 강의에서 알려준 내용과는 별개로 본인이 알고있던 지식이다. 자바스크립트 코드는 일반적으로 html 태그 어디에 넣더라도 동작한다. 다만 웹브라우저의 동작방식을 살펴보면 html은 위에서 아래로 파싱이 진행되고, parser가 를 만나면 자바스크립트 코드를 실행하기 위해 파싱을 잠시 중단하고 자바스크립트 코드를 먼저 불러온다. 그래서 웹 브라우저 렌더링 속도가 느려져 페이지가 나타나는 속도가 느려질 ..
1. 서론 오늘도 자바 알고리즘 풀이를 진행하였다. 우선순위 큐를 이용하여 문제를 풀이하였다. 알고리즘에 재미를 붙이게 되는 것 같다. 2. 문제 엘리스와 이상한 상자 엘리스는 최댓값을 구할 수 있는 이상한 기계상자를 가지고있습니다. 이 최댓값 기계는 숫자를 여러개 담을 수 있으며, 담겨있는 숫자들 중에서 최댓값을 반환할 수 있습니다. class를 이용하여 엘리스를 도와 최댓값 기계를 구현해봅시다. 엘리스의 이상한 기계상자는 다음의 기능을 지원 해야합니다. machine.addNumber(x) : 숫자 x를 최댓값 기계 machine에 추가합니다. machine.removeNumber(x) : 숫자 x를 최댓값 기계 machine으로부터 제거합니다. 만약 숫자 x가 최댓값 기계 내에 없다면 아무 일도 일..
1. 서론 하루도 끊기지 않고 계속 문제 풀이를 진행하고 포스팅을 하게 되니 습관이 잡히게 되어 좋은 것 같다. 오늘도 자바 알고리즘 문제 풀이를 진행하였다. 2. 문제 엘리스와 별 헤는 밤 밤이 깊어지자 엘리스 머리 위에는 별이 보이기 시작했습니다. 주어진 조건(별의 거리)에 따라 달라지는 별을 출력해 봅시다. 별의 거리 = 3 별의 거리 = 6 문제 풀이 흔한 별찍기 문제이다. 첫번째 줄에는 *을 3개출력하는데, 사이에 Scanner로 받은 int값만큼 공백을 넣어줘야한다. 두번째 줄은 *을 2개 출력하는데, 받은 매개변수값 - 1만큼 공백을 넣어줘야 하는데 이번에는 *을 먼저 출력하기 전에 공백을 먼저 넣어줘야 한다. 풀이한 코드는 다음과 같다. package elice; import java.ut..
1. 서론 오늘은 최소공배수를 구하는 알고리즘 문제를 풀이하였다. 최소공배수를 구하려면 최대공약수를 구해야했고, 유클리드 호제법을 이용하였다. 2. 문제 토끼와 거북이의 달리기 경주 토끼와 거북이가 달리기 경주를 시작했다. 토끼는 N분에 한번 휴식을 하고 거북이는 M분에 한번 휴식을 한다고 한다. 토끼와 거북이가 처음으로 같은 타이밍에 쉬는 시간은 언제일까? 토끼의 휴식시간 N과 거북이의 휴식시간 M이 매게 변수로 주어졌을때, 토끼와 거북이가 동시에 휴식하는 최초의 시간을 출력하는 프로그램을 작성하라. 문제 풀이 약간의 스토리가 가미되었지만 한 줄로 요약하면 입력받은 두 수의 최소공배수를 구하라는 문제이다. 여러가지 해결 방법이 있겠지만 본인은 유클리드 호제법을 이용하여 풀이를 진행하였다. A와 B의 최..
1. 서론 어제에 이어 Java 레벨 테스트를 진행하였다. 진도가 느리더라도 매일매일 꾸준히 진행하려고 한다. 2. 문제 구름 다리를 건너는 토끼 토끼는 강을 건너기 위해 구름다리를 건너려고 한다. 구름다리의 발판에 적혀있는 숫자가 첫 번째부터 순서대로 들어있는 배열 steps가 매개변수로 주어질 때, 토끼가 구름다리를 모두 건너기 위해 필요한 점프 횟수를 반환해라. 문제 풀이 예를 들어, 1번째 칸이 숫자 2이면 2만큼 점프해서 3번째 칸으로 이동하고, 3번째 칸이 숫자 1이면 1만큼 점프해서 4번째 칸으로 가라는 식의 문제이다. 결국 밟은 칸의 숫자가 n이라면, 배열 + n으로 점프하고 그 배열값만큼 다시 점프해서 그렇게 마지막 배열이 실행될 때까지 점프한 횟수를 구하라는 것이다. package el..
1. 서론 어제까지 SQL 테스트를 마무리했고 오늘부터는 Java 레벨 테스트를 진행하고자 한다. Java 기초 문법들을 다시 확인할 수 있는 기회가 될 것 같다. 아래에 문제를 푼 답을 기록해놓았다. 2. 문제 풀이 // 안녕 토끼! package elice; public class Main { public static void main(String args[]) { System.out.println("Hello Rabbit!"); } } // 거꾸로 숫자 세기 package elice; public class Main { public static void main(String args[]) { for (int count = 10; count > 0; count--){ System.out.println..