분류 전체보기 44

[JS] 바닐라JS Random Number Game

해당 글은 노마드 코더의 '바닐라JS' 챌린지의 내용 정리입니다. 실행 화면 주의했던 점 Machine Number를 Submit Number가 넘지 않도록 한다. Machine Number와 Submit Number의 자료형이 'Number'가 아니라면 alert 해주자.(해당 주의점은 시도하였으나, 알 수 없는 이유로 실패, 추후 다시 해볼 예정) HTML code Random Number Game Generate a number between 0 to Guess the number: Play! 헤맨 부분 div의 구역을 나눠서 텍스트와 input부분을 잘 맞춰서 정렬하는 것. [div의 구역 나누기] span은 style ="display:inline-block;"을 사용해야 한 블록을 가지게 된다..

javascript/실습 2022.09.07

2. 스택 stack

Stack이란? LIFO(Last In, First Out) 후입, 선출 / 먼저 들어간게 먼저 나온다. 리스트의 제한된 형태 넣고 빼기가 리스트의 한쪽 끝에서만 가능하다.(뒤에서만 넣고 빼기가 가능한 리스트) PUSH(넣기) POP(빼기) TOP(맨 위의 값 리턴) Stack ADT public interface Stack { public void clear(); // 전부 다 지우기 public void push(E it); // 값을 맨 위에 넣기 public E pop(); // 맨 위의 값을 빼서 쓰기 (return타입이 있는 이유) public E topValue(); // 맨 위의 값을 가져만 오기 (return타입이 있는 이유) public int length(); // 스택에 얼마나 많은..

자료구조 2022.09.06

1. 리스트(3) List Iterator, DLink

List Iterator와 Doubly Linked List(이하 DLink)는 왜 등장하게 되었을까? Array List와 Linked List의 리스트 순회 시간 복잡도는 어떻게 될까? List list = new ArrayList(); (혹은 new LinkedList();) for(int i = 0; i < list.length(); i++) System.out.println(list.getValue()); // 리스트 순회하는 이 구문의 시간 복잡도는? Array List의 경우 : O(n) Linked List의 경우 : O(n²) Linked List의 시간 복잡도를 줄일 수 있는 방법이 뭐가 있을까? 첫번째 방법 - curr을 매번 이동하는 것이 아닌 한 노드 옮겨갈 때마다 그 위치를 기억..

자료구조 2022.09.05

1. 리스트(2) Linked list

연결 Link (노드) 데이터 item(내가 원하는 값) 와 포인터 pointer(다른 노드를 가르킴) 로 구성된다. 리스트를 연결을 이용해 표현하는 방법은? Link 연결 구현 class Link{ private Link next; private E item; public Link(E item, Link next){ this.item = item; this.next = next; } E item(){return item;} E setItem(E item){return this.item;} Link next(){return next;} Link setNext(Link next){return this.next;} } 연결리스트를 구현할 때 head 부분을 따로 둬야할까? A> 따로 두는게 좋다. head ..

자료구조 2022.09.04

1. 리스트(1) Array Lists

학교 수업 '자료구조' 복습 리스트란? 유한하고 순서가 있는 데이터의 나열 리스트 속의 데이터들은 위치 position가 있음 표기법 : 어떤 연산operation이 필요할까? 필요한 연산 특정 위치에 아이템을 넣을(insert, append) 수 있다. 특정 위치의 아이템을 읽고(getValue), 변경(update)할 수 있다. 특정 위치의 아이템을 삭제(remove)할 수 있다. 리스트 내의 아이템 개수(length)를 알 수 있다. 리스트를 비울(clear)수 있다. 배열(Array) 기반 리스트 넣기 삭제 구현 public class arrayList implements List { int listSize; E[] data; public arrayList(int capacity) { listSi..

자료구조 2022.09.04

1. Insertion Sort 삽입 정렬(2) 프로그래머스 k번째수 [JS]

문제 설명 배열 array의 i번째 숫자부터 j번째 숫자까지 자르고 정렬했을 때, k번째에 있는 수를 구하려 합니다. 예를 들어 array가 [1, 5, 2, 6, 3, 7, 4], i = 2, j = 5, k = 3이라면 1. array의 2번째부터 5번째까지 자르면 [5, 2, 6, 3]입니다. 2. 1에서 나온 배열을 정렬하면 [2, 3, 5, 6]입니다. 3. 2에서 나온 배열의 3번째 숫자는 5입니다. 배열 array, [i, j, k]를 원소로 가진 2차원 배열 commands가 매개변수로 주어질 때, commands의 모든 원소에 대해 앞서 설명한 연산을 적용했을 때 나온 결과를 배열에 담아 return 하도록 solution 함수를 작성해주세요. 제한사항 #array의 길이는 1 이상 10..

알고리즘 공부 2022.09.02

1. Insertion Sort 삽입 정렬(1)

학교에서 들은 '알고리즘' 수업 정리입니다. 정렬 문제(Sorting Problem)란? Input : n개의 대소를 가지는 숫자, 혹은 sequence (a₁, a₂, a₃, ... , a𝘯) Output : 그러한 sequence의 순서를 바꾼 것 (a'₁, a'₂, a'₃, ... , a'𝘯) , permutation(reordering) (a₁ ≦ a₂ ≦ a₃ ≦ ... ≦ a𝘯) 주로 sequence는 배열에 저장되어 있고, aᵢ 는 key 이고 실제로는 각 key로 대표되는 satellite date가 있다. (예 > 학번(key) + 이름, 성적 등의 정보(satellite data)) Pseudo code Insertion-Sort(A) for j = 2 to A.length key = ..

알고리즘 공부 2022.09.01

2. 자료구조 공부 준비

'자바로 배우는 쉬운 자료구조' 를 공부하기 위한 Java 기초 공부 객체지향 프로그래밍 객체의 특징 1. 캡슐화(Data Hiding) 캡슐화된 객체는 지정한 인터페이스를 통해서만 외부와 연결되어 밖에서 안의 내용을 볼 수 없기 때문에 독립성을 갖게 된다. 2. 코드의 재사용(상속 inheritance) 3. 다형성(Polymorphism) 객체의 다형성이란 같은 이름의 메소드가 상황에 따라 다른 연산을 수행하는 것을 의미한다. 객체 지향 언어 : 자바 1. 자바의 캡슐화 구현 접근 권한 public 같은 패키지 다른 패키지 자식 클래스 protected 같은 패키지 자식 클래스 default 같은 패키지 private 2. 자바의 상속 구현 부모 클래스 와 자식 클래스 class StudentInfo..

기타 공부 2022.08.23

1. 자료구조 공부 준비

'자바로 배우는 쉬운 자료구조' 를 공부하기 위한 Java 기초 공부 자바의 데이터 타입 1. 기본 타입 byte, short, int, long, char float, double boolean 2. 참조 타입 (메모리 주소를 계산할 수 있는 참조 값을 다루기 위한 타입) 배열 > 데이터 타입 배열이름 []; , 데이터 타입 [] 배열이름; > 생성 명령 : new 데이터타입 [배열크기]; 클래스 타입 > class 클래스이름 ---- class PointXY > 변수 선언(상수 선언) ---- int x, y; > 메소드 정의 ---- PointXY(int x, int y){...} void setX(int x){...} void setY(int y){...} ... 인터페이스 타입 > interfa..

기타 공부 2022.08.23

3. 데이터 타입

현재 '모던 자바스크립트 Deep Dive'를 통해 자바스크립트를 학습하고 있습니다. 본 포스트는 해당 내용에 대한 정리를 목적으로 합니다. 원시 타입 / 객체 타입 원시 타입 : 숫자 : JS는 독특하게 하나의 숫자 타입만 존재함 문자열 : ' ' , " " (일반적으로 작은 따옴표를 사용한다) \0 (null), \b (backspace), \n (다음 행으로 이동), \r (커서를 처음으로 이동) \t (수평 탭), \v (수직 탭), \' , \" , \\ 불리언 : true, false undefined, null, 심벌 객체 타입 : 객체, 함수, 배열 등 데이터 타입의 필요성 데이터 타입에 의한 메모리 공간의 확보와 참조 / 메모리에서 읽어 들인 2진수를 어떻게 해석할지 결정하기 위해 정적 ..