전체 글 94

Object

Object-type:  JS에서 사용하는 모든 non-primitive type Object-literal  :  일반적으로 Object 라고 말하는데 Object-type의 어머니 학생이름, 나이, 반, 학년을 데이터화 한다면 let name = '홍길동';let age = 15;let grade = 2;let cls = 5;으로 할 수 있다. const st1 = {name : '홍길동',age : 15,grade : 2,cls : 5};이것으 오브젝트 리터럴이다. 콘솔로 찍어서 확인해보자console.log(st1); console.log(st1.name); console.log(st1['name']);

JS 2024.07.25

scope

스코프란?변수가 유효한 범위(영역)를 말한다. 전역 스코프와 지역 스코프가 있다. 구분전역 스코프지역 스코프유효 영역프로그램 전체에서 접근 가능프로그램의 한정된 영역에서만 접근 가능변수전역 변수 (Global Variable)지역 변수 (Local Variable)선언방식(생성)코드의 가장 바깥영역에서 선언함수의 내부에서 선언세부 유형- var, let 별 차이 없음함수레벨 스코프(var)블록레벨 스코프(let, const) 전역 변수는 함수 외부에서 선언하면 전역 변수이다.하지만 네이밍 충돌 때문에 스크립트를 짤 때 익명의 화살표 함수 안에서 작성하여 전역 변수를 사용하지 않는다.(()=>{})(); 그러면 지역 변수에서 봐야 할 점은 스코프 레벨이 다른 var과 let이다.function f() { ..

JS 2024.07.24

하이퍼바이저(Hypervisor)

하이퍼바이저(Hypervisor)는 가상화 기술을 지원하는 소프트웨어나 하드웨어 시스템으로, 여러 운영체제가 동시에 하나의 물리적 하드웨어에서 실행될 수 있도록 합니다. 하이퍼바이저는 가상 머신(VM, Virtual Machine)을 관리하고 제어하는 역할을 합니다. 하이퍼바이저와 VM은 서로 다른 개념이지만 긴밀하게 연관되어 있습니다.하이퍼바이저(Hypervisor)하이퍼바이저는 가상화를 구현하기 위한 핵심 기술로, 두 가지 주요 유형으로 분류됩니다:타입 1 하이퍼바이저 (Type 1 Hypervisor):**베어 메탈 하이퍼바이저(Bare-metal Hypervisor)**라고도 불립니다.물리적 하드웨어에서 직접 실행됩니다. 즉, 하이퍼바이저 자체가 운영체제 역할을 하며, 하드웨어 리소스를 가상 머신..

[프로그래머스] 줄 서는 방법-JAVA

https://school.programmers.co.kr/learn/courses/30/lessons/12936 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 모든 경우의 수를 구해서 k번째를 구한다면가장 큰 경우 n이 20 이하이므로 20! 번 반복문을 돌려야한다. 따라서 다 구할수 없고 규칙성을 알아내야한다.첫번째 숫자를 고정하고 나머지를 구한다면 (n-1)!의 경우의 수이고m번째 숫자를 고정한다면 결국 (n-m)!의 경우의 수가 나올 것이다. n이 5일때즉, k가 (5-1)!보다 작다면 첫번째 수는 1로 고정일 것이고 2 * (5-1)!보다 작고  (..

[프로그래머스] 2 x n 타일링 -JAVA

https://school.programmers.co.kr/learn/courses/30/lessons/12900# 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 문제의 접근을 위해 골똘히 생각해 봐야 한다.결국 자연수 n길이의 박스에 길이가 1 또는 2의 막대기를 사용하여 일렬로 나열할수 있는 경우의 수이다. 예를 들어 n이 5라면1111121112213가지 방법으로 이루어져 있다. 그렇다면 2 와 1의 개수 조합을 알고 있다면 조합과 순열을 통해 경우의 수를 구할 수 있을 것이다. 어떤 변수가 몇 개가 필요할까?1의 개수를 담을 int타입의 변수와 2의 ..

[프로그래머스] 124 나라의 숫자 -JAVA

class Solution { public String solution(int n) { String answer = ""; int [] arr = new int[n]; int num = 1; int cnt = 0; String currNum = ""; boolean checkNum = true; for (int i = 0; i   1. n번 반복하는데 문자열에 값을 넣고 문자열 길이만큼 반복하여 각 문자열의 숫자를 체크하고2. checkNum을 통해 while문의 조건으로 사용하여 1, 2, 4 만이 존재하는 숫자가 된다면 배열에 넣어주었다. 코드를 작성하면서 당연히 시간초과나 효율성이 떨어질 것이..

JAVA/배열에 관하여(다차원)

배열이란 무엇인가? 같은 데이터 타입이 여러 개 필요할 때 사용한다.int a1 = 10;int a2 = 20;int a3 = 30;int a4 = 40;int a5 = 50;int 형 데이터 타입의 변수가 5개 필요할 때 일일이 써줘야 한다.하지만 배열을 사용한다면?int [] a = new int [5];a라는 변수에 int형 변수 5개의 사이즈(4byte * 5)를 heap에 메모리를 잡고 a 변수에 참조값을 넣어준다.이렇게 10개면 new int [10];100개면 new int [100];으로 해준다면 훨씬 코드 작성이 편리할 것이다.초기화 방법은int [] a = new int [] {1, 2, 3, 4};자동적으로 크기가 4이고 0번 째부터 3번 재까지 1, 2, 3, 4의 값이 들어간다. ..

JAVA 2024.07.16

JAVA static이란?

대부분 알 것이다.전역 변수(메소드)이고, 메모리를 아낄 수 있으며 인스턴스 없이 접근할 수 있다. 알고는 있지만 왜 써야하며 어떻게 써야 하는가? 원의 반지름의 정보가 있는 클래스가 있고 원의 넓이와 둘레를 구할 수 있어야 한다.public class Circle {    private double radius;    public static final double PI = 3.14;    public Circle() {    }    public Circle(Double radius) {        this.radius = radius;    }    public Circle(int radius) {        this.radius = (double)radius;    }    public voi..

JAVA 2024.07.11

getter와 setter

학생들의 이름, 학년 그리고 국영수 점수를 멤버변수로 갖는 클래스가 있다.public class Student {    //이름    String name;    //학년    int grade;    //국영수    int [] score = new int[3];    } 외부 클래스에서 Student 객체를 생성하고 호출해 보자public class App extends Student {    public static void main(String[] args) throws Exception {        Student st1 = new Student();    }} st1.name = "김똥개";라고 name 변수에 값을 넣을 수 있다.액세스 모디파이어가 디폴드이기 때문에 가능하다.public c..

JAVA 2024.07.10

JAVA 반복문을 이용한 로또 번호 생성(for, while)

자바를 공부하면서 반복문을 배우게 되면 많이 하는 것들 중 하나는 로또 번호를 생성하는 것이다. // 로또번호생성기// 요구사항 : // 1. 1~45중 랜덤한 값 6개를 생성// 2. 게임수를 입력받음// 3. 출력은 sort(오름차순으로 정렬하여 출력)대충 요구사항은 이렇다. 항상 코드를 짜기 전에 먼저 잘게 쪼개서 모든 과정을 생각해봐야 한다. 1. 1~45의 랜덤값을 생성2. 중복되지 않은 랜덤값 6개를 저장3. 오름차순으로 정렬4. 출력 우선 메인 메소드부터 짜면서 필요한 기능들을 메소드로 제작해보자 public static void main(String[] args) {        // 로또 번호를 저장할 배열 생성        int [] numbers = new int [6];      ..

JAVA 2024.07.08