Computer Science/컴퓨터구조 2023. 8. 19.
Chap2 데이터
Chap2 데이터 생성 일시: 2023년 8월 10일 오후 8:47 0과 1로 숫자를 표현하는 방법 0과 1로 문자를 표현하는 방법 02 데이터 02-1. 0과 1로 숫자를 표현하는 방법 컴퓨터가 이해하는 정보 단위, 이진법과 십육진법을 통해 다양한 숫자를 표현하는 방법에 대해 학습 정보 단위 0과 1을 나타내는 가장 작은 정보 단위: 비트 bit → 2가지 정보 표현 N개의 비트로 표현할 수 있는 정보는 $2^N$ 가지 이진법 0과 1로 숫자를 표현하는 방식. 이건 14살에 배웠다…. ******이진수 표기****** 1000(2) : 수학적으로 표기할 때 0b1000 (binary) : 코드 상에서 이진수 표현할 때 이진수의 음수 표현 마이너스 부호를 사용하지 않고 음수를 표현하려면? ******2의..

자료구조 2023. 8. 18.
자료구조 Array - 알고리즘, 배열, 버블 정렬
230807 Array (1) 알고리즘 배열 정렬 버블 정렬 (Bubble Sort) 알고리즘 (명) 알고리즘: 유한한 단계를 통해 문제를 해결하기 위한 절차나 방법이다. 주로 컴퓨터 용어로 쓰이며, 컴퓨터가 어떤 일을 수행하기 위한 단계적 방법을 말한다. 간단하게 다시 말하면 어떠한 문제를 해결하기 위한 절차라고 볼 수 있다. ex) 1부터 100까지 합을 구하는 문제 컴퓨터 분야에서 알고리즘을 표현하는 방법은 크게 두 가지 의사코드와 순서도 무엇이 좋은 알고리즘인가? 정확성: 얼마나 정확하게 동작하는가 작업량: 얼마나 적은 연산으로 원하는 결과를 얻어내는가 메모리 사용량: 얼마나 적은 메모리를 사용하는가 단순성: 얼마나 단순한가 최적성: 더 이상 개선할 여지 없이 최적화되었는가 주어진 문제를 해결하기..

알고리즘 문제/프로그래머스 2023. 8. 18.
(프로그래머스 Lv.2) 광물 캐기 (Java)
(Lv.2) 광물 캐기 생성일: 2023년 8월 18일 오후 4:23 레벨: 2 🌍TISTORY 문제 🌐 마인은 곡괭이로 광산에서 광석을 캐려고 합니다. 마인은 다이아몬드 곡괭이, 철 곡괭이, 돌 곡괭이를 각각 0개에서 5개까지 가지고 있으며, 곡괭이로 광물을 캘 때는 피로도가 소모됩니다. 각 곡괭이로 광물을 캘 때의 피로도는 아래 표와 같습니다. 예를 들어, 철 곡괭이는 다이아몬드를 캘 때 피로도 5가 소모되며, 철과 돌을 캘 때는 피로도가 1씩 소모됩니다. 각 곡괭이는 종류에 상관없이 광물 5개를 캔 후에는 더이상 사용할 수 없습니다. 마인은 다음과 같은 규칙을 지키면서 최소한의 피로도로 광물을 캐려고 합니다. 사용할 수 있는 곡괭이중 아무거나 하나를 선택해 광물을 캡니다. 한 번 사용하기 시작한 곡..

Web Front/Javascript 2023. 8. 18.
JavaScript React 상태 관리
리액트 상태 관리 01 상태 관리 상태 관리란? 상태 관리 기술이란 앱 상에서의 데이터를 메모리 등에 저장하고 하나 이상의 컴포넌트에서 데이터를 공유하는 것 한 컴포넌트 안에서의 상태, 여러 컴포넌트 간의 상태, 전체 앱의 상태 관리를 모두 포함 MPA와 SPA에서의 상태 관리 MPA에서는 서버의 데이터를 이용해 페이지를 렌더링하므로, 클라이언트의 데이터와 서버의 데이터가 큰 차이를 가지지 않음 SPA에서는 자체적으로 데이터를 갖고, 서버와의 동기화가 필요한 데이터만을 처리 그 외의 데이터는 Client만의 데이터로 유지 MPA는 서버에서 데이터를 관리함. 그래서 클라이언트와 서버의 데이터 상태가 같음 서버는 데이터를 유지하지 않거나 유지하더라도 보안 정보만 유지함 클라이언트에서 페이지를 빌드하는 상태를..

알고리즘 문제/백준 2023. 8. 17.
1966 프린터 큐 (Java)
1966 프린터 큐 (Java) 🌍***TISTORY*** 문제 🌐 여러분도 알다시피 여러분의 프린터 기기는 여러분이 인쇄하고자 하는 문서를 인쇄 명령을 받은 ‘순서대로’, 즉 먼저 요청된 것을 먼저 인쇄한다. 여러 개의 문서가 쌓인다면 Queue 자료구조에 쌓여서 FIFO - First In First Out - 에 따라 인쇄가 되게 된다. 하지만 상근이는 새로운 프린터가 내부 소프트웨어를 개발하였는데, 이 프린터기는 다음과 같은 조건에 따라 인쇄를 하게 된다. 현재 Queue의 가장 앞에 있는 문서의 ‘중요도’를 확인하다. 나머지 문서들 중 현재 문서보다 중요도가 높은 문서가 하나라도 있다면, 이 문서를 인쇄하지 않고 Queue의 가장 뒤에 재배치 한다. 그렇지 않다면 바로 인쇄를 한다. 예를 들어 ..

Java/클래스 2023. 8. 17.
Java StringBuilder
문자열 폭발 문제에서 날 구해준 StringBuilder 클래스에 대한 문서를 살펴보았다. 전에 짝꿍이 쓰는 걸 봤는데 이번에 어떤 메소드가 있는지 제대로 알아보았다. StringBuilder StringBuilder란 Java Development Kit Version 20 API Specification public class StringBuilder extends object implements Serializable, Comparable, CharSequence StringBuilder란 변경 가능한 문자들의 나열(sequence)이다. StringBuffer와 비슷하지만, 동기화를 보장할 수는 없다. 일반적인 경우, StringBuffer보다 빠르다. … 고 써있다. StringBuilder는 ..

Web 개발 2023. 8. 17.
JavaScript React에서 Bootstrap 사용하기
React에서 Bootstrap CSS 사용하기 (1) 라이브러리 설치 → create-react-app으로 프로젝트 폴더 생성 아래 2개 커맨드 중 1개 선택하여 설치 1. npm install bootstrap 2. yarn add bootstrap (2) css 불러오기 index.js를 아래와 같이 작성하여 bootstrap.min.css를 import → min은 minified의 약자로, css 코드를 압축한 형태라는 것을 의미합니다. → 빈칸, 빈 줄을 최대한 줄여서 웹 브라우저가 코드를 조금이라도 빠르게 읽을 수 있도록 import React from "react"; import ReactDOM from "react-dom"; import App from "/.App"; import "bo..

Web Front/Javascript 2023. 8. 17.
CSS에서 Bootstrap 이해하기
CSS에서 Bootstrap 이해하기 01 Bootstrap이란 Bootstrap이란, css를 이용한 디자인을 조금 더 쉽게 할 수 있도록 해 주는 프론트엔드 프레임워크입니다. css 단축키(다양한 class)를 제공해 주는 라이브러리라고 할 수 있습니다. css가 미리 설정되어 있는 여러 가지 class 이름들을 제공해 줍니다. (1) 버튼 예시 예를 들어, 아래의 파란색 버튼을 구현해 보자. 위 버튼을 디자인하기 위해서는, 원래라면 css 파일을 따로 작성해야 한다. 위와 같이 색이 변하고, 클릭 효과(테두리가 빛남)가 있는 만들려면 css가 조금 길어진다. html 파일 버튼1 css파일 .blue-button { color: #fff; background-color: #0d6efd; border..

Web Front/Javascript 2023. 8. 16.
JavaScript - DOM, Event
JavaScript - DOM, Event DOM Event DOM window 제공 함수 alert confirm prompt open parseInt, parseFloat setTimeout, clearTimeout setInterval, clearInterval DOM XML, HTML 문서의 각 항목을 계층으로 표현하여 생성, 변형, 삭제할 수 있도록 돕는 인터페이스 DOM은 문서 요소 집합을 트리 형태의 계층 구조로 HTML 표현 HTML 문서의 요소를 제어하기 위해 지원 상단의 document 노드를 통해 접근 문서 접근 방식 이해 getElementById (string) querySelector(css selector) querySelectorAll(css selector) getEleme..

Web Front/Javascript 2023. 8. 16.
JavaScript 기본 - 객체, 함수
JavaScript JavaScript 기본 문법 객체 함수 JavaScript 자바스크립트란? 프로토타입 기반 객체 생성을 지원하는 동적 스크립트 언어 웹 브라우저에서 주로 사용, Node.js를 이용하여 콘솔 환경에서 사용 웹 브라우저의 UI를 제어하기 위해 만들어진 프로그래밍 언어 자바와 기본 구문이 비슷하다 (C언어의 기본 구문을 바탕으로 함) Mocha → LiveScript → JavaScript ECMA International: 정보 통신에 대한 표준을 제정하는 비영리 표준화 기구 ECMAScript: ECMA-262 기술 규격에 의해 정의된 범용 스크립트 언 EMCAScipt6: ECMA에서 제안하는 6번째 표준 명세 (2015 발표) 기본 문법 HTML 자바스크립트 사용 태그를 사용 문..
Computer Science/컴퓨터구조 2023. 8. 15.
Chap1 컴퓨터 구조 시작
CS 스터디에서 혼자 공부하는 컴퓨터구조&운영체제 이라는 책으로 공부를 시작했다. 매주 2~3 챕터씩 보는 것을 목표로 한다. Chap1 컴퓨터 구조 시작 01 컴퓨터 구조 시작 01-1. 컴퓨터 구조를 알아야 하는 이유 문제 해결‘분석의 대상’으로서 컴퓨터 → 다양한 문제를 스스로 해결할 수 있는 개발자가 되자! 문제 상황을 빠르게 진단하고 실마리를 다양하게 찾을 수 있음 성능, 용량, 비용문법만으로는 알기 어려운 것들을 고려하여 개발할 수 있다 ++ 현업에서는 법적 규제: 개인정보 처리 사용자가 많은 프로그램은 필연적으로 성능, 용량, 비용을 고려해야 함 01-2. 컴퓨터 구조의 큰 그림 컴퓨터가 이해하는 정보? Computer Architecture 컴퓨터가 이해하는 정보 데이터 data 명령어 i..

Web Front/Javascript 2023. 8. 15.
JavaScript React에서의 비동기 통신
리액트에서의 비동기 통신 비동기 통신과 프로미스 01) 자바스크립트 비동기 1 자바스크립트 비동기의 등장 초기 웹 환경에서는, 서버에서 모든 데이터를 로드하여 페이지를 빌드했으므로 자바스크립트에서는 별도의 비동기 처리가 필요하지 않음 Ajax(Asynchronous JavaScript and XML) 기술의 등장으로 페이지 로드 없이 client-side에서 서버로 요청을 보내 데이터를 처리할 수 있게 됨 XMLHttpRequest라는 객체를 이용해 서버로 요청을 보낼 수 있게 됨 자바스립트와 비동기 자바스크립트는 single-threaded language이므로, 만일 서버 요청을 기다려야 한다면 유저는 멈춰 있는 브라우저를 보게 될 것 따라서 동기가 아닌 비동기 처리를 이용해 서버로 통신할 필요가 있..
개발 일기/SSAFY 10th 2023. 8. 15.
Front 관통 프로젝트 회고
Front 관통 프로젝트: 영상 관리 프로그램 Github 개발 기간 2023/08/11 (1일) 개발 인원 2명 이영현 @olrlozl 프로젝트 목표 HTML, CSS, JavaScript 활용 CSS, Bootstrap으로 향상된 디자인 구현 UX, UI를 고려한 사이트를 구현하여 사용자 입장에서 편리하고 멋진 디자인 설계 프로젝트 요구사항 Wireframe Tool을 이용하여 구현할 웹 페이지 프로토타입 설계 SSAFIT 사이트 메인 페이지 및 메뉴 메인 페이지 구성: 운동영상 정보의 다양한 화면 구성 메뉴 구성: 사이트 주요 메뉴 구성 운동 영상에 대한 리뷰 관리 페이지 리뷰 목록, 등록, 수정, 상세, 삭제 회원가입/로그인 메뉴 유저의 찜한 동영상, 팔로잉/팔로워 목록 사용 기술 HTML CSS..

Web Front/HTML, CSS 2023. 8. 15.
HTML&CSS
HTML & CSS HTML CSS CSS Selector HTML HTML Hyper Text Markup Language Hyper Text: 참조를 통해 한 문서에서 다른 문서로 즉시 접근할 수 있는 텍스트 Markup: 태그 등을 이용하여 문서나 데이터의 구조를 명기하는 언어 웹페이지를 작성하기 위한 언어 .html(확장자)를 가짐 태그는 대소문자 구분이 없음 엔터, 스페이스바, 탭이 적용되지 않음 HTML 구성요소 태그 (Tag) HTML의 요소는 태그와 내용으로 구성 에듀싸피 시작태그 / 종료태그로 쌍을 이루거나 시작 tag만 존재하는 tag도 있다 각각의 시작 태그는 속성과 속성값을 가질 수 있음 주석 주석의 내용은 브라우저에 출력이 되지 않음 HTML tag의 내용을 설명하기 위한 용도로 ..

Java/기본 문법 2023. 8. 12.
JAVA 객체지향 프로그래밍 - Collection
230726 JAVA Collection 생성 일시: 2023년 7월 25일 오후 4:26 🌍TISTORY Collection Framework List Set Map Queue Stack 정렬 Collection Framework 틀, 뼈대: 객체들을 한곳에 모아 놓고 편리하게 사용할 수 있는 환경을 제공 인터페이스의 일종이라고 생각하면 됨! (강제성, 독립성) 정적 자료구조 (Static data structure) 고정된 크기의 정적 자료구조 배열이 대표적인 정적 자료구조 선언 시 크기를 명시하면 바꿀 수 없음 동적 자료구조 (Dynamic data structure) 요소의 개수에 따라 자료구조의 크기가 동적으로 증가하거나 감소 리스트, 스택, 큐 등 자료구조들의 종류는 결국은 어떤 구조에서 얼마..

Java/기본 문법 2023. 8. 11.
JAVA 객체지향 프로그래밍 - 인터페이스, 제네릭
230725 객체지향 프로그래밍 - 인터페이스, 제네릭 생성 일시: 2023년 7월 24일 오후 8:22 🌍TISTORY 인터페이스 인터페이스 vs 클래스 Generic 인터페이스 Interface 인터페이스란? 서로 다른 장치들을 연결시켜 주는 규격 인터페이스 완전히 추상화된 설계도 클래스와 유사하게 작성이 가능 (class 대신 interface 키워드 사용) 모든 메서드가 추상 메서드 (JDK8부터 default method, static method 추가) public interface 인터페이스이름 { public static final 타입 상수이름1 = 10; (public static final 생략가능) 타입 상수이름 상수이름2 = 10; public abstract void 메서드이름1..

Java/기본 문법 2023. 8. 10.
JAVA 객체지향 프로그래밍 - 다형성
230724 객체지향 프로그래밍 - 다형성, 추상 클래스 🌍TISTORY 다형성 추상클래스 추가) 바인딩 - 동적 바인딩, 정적 바인딩 다형성 다형성의 모습 `public class Person { String name; int age; Person() {} Person(String name) { this.name = name; } public void eat () { System.out.println("음식을 먹는다."); } } public class Student extends Person { String major; public void study() { System.out.println("공부를 한다."); } } 다형성이란 多形을 가질 수 있는 성질 상속관계에 있을 때 조상 클래스의 타입으로 ..

알고리즘 문제/백준 2023. 8. 10.
1874 스택 수열 (Java)
(1874) 스택 수열 생성일: 2023년 8월 10일 오전 10:21 🌍TISTORY 문제 🌐 스택 (stack) 은 기본적인 자료구조 중 하나로, 컴퓨터 프로그램을 작성할 때 자주 이용되는 개념이다. 스택은 자료를 넣는 (push) 입구와 자료를 뽑는 (pop) 입구가 같아 제일 나중에 들어간 자료가 제일 먼저 나오는 (LIFO, Last in First out) 특성을 가지고 있다. 1부터 n까지의 수를 스택에 넣었다가 뽑아 늘어놓음으로써, 하나의 수열을 만들 수 있다. 이때, 스택에 push하는 순서는 반드시 오름차순을 지킨다고 하자. 임의의 수열이 주어졌을 때 스택을 이용해 그 수열을 만들 수 있는지 없는지, 있다면 어떤 순서로 push와 pop 연산을 수행해야 하는지를 알아낼 수 있다. 이를 ..

Java/기본 문법 2023. 8. 10.
JAVA 객체지향 프로그래밍 - 상속
230721 객체지향 프로그래밍 - 상속 상속 Object 클래스 final 키워드 상속 (Inheritance) 어떤 클래스의 특성을 그대로 갖는 새로운 클래스를 정의한 것 조상클래스의 상속을 받아 만든 하위, 자식 클래스 public class Person { String name; int age; public void eat() { System.out.println("음식을 먹는다.); } ] public class Student { String name; int age; String major; public void eat() { System.out.println("음식을 먹는다."); } public void study() { System.out.println("공부를 한다."); } } pub..

Java/기본 문법 2023. 8. 9.
JAVA 객체지향 프로그래밍 - 객체
230720 객체지향 프로그래밍 - 객체 JVM 메모리 구조 JVM 메모리 구조 Java 언어는 메모리 관리를 개발자가 하지 않음 GC (Garbage Collection) 가 메모리 관리 Garbage Collection Heap 영역 (class 영역 포함) 에 생성된 메모리 관리 담당 더이상 사용되지 않는 객체들을 점검하여 제거 자동적 실행/CPU가 한가 or 메모리 부족 JVM에 의해서 실행 System.gc() 를 통해 호출 (시스템 영향을 줘서 하지 않기…) 객체 생성과 메모리 할당 Person p1 = new Person(); p1.name = "Yang"; p1.age = 45; p1.hobby = "유튜브"; 클래스 영역 = 메소드 영역: 클래스 안에 있는 메소드가 들어가기 때문에 메소드..

Java/기본 문법 2023. 8. 9.
JAVA 객체지향 프로그래밍 - 클래스와 메소드
230719 객체지향 프로그래밍 - 클래스와 메소드 객체지향 프로그래밍 객체지향 프로그래밍 (OOP, Object Oriented Programming) 객체: 사물과 같이 유형적인 것과 개념이나 논리와 같은 무형적인 것들 지향: 작정하거나 지정한 방향으로 나아감 객체 모델링: 현실세계의 객체를 SW 객체로 설계하는 것 클래스 (Class) 객체를 만드는 설계도 (Blueprint) 인스턴스 (Instance) 클래스를 통해 생성된 객체 클래스: 붕어빵 틀 인스턴스: 붕어빵 느낌… 내가 마음대로 만드는 자료형~ 객체지향 프로그래밍 특징 (A PIE) Abstraction (추상화) Polymorphism (다형성) Inheritance (상속): 상위 클래스가 하위 클래스에 전달 Encapsulation..

Java/기본 문법 2023. 8. 9.
JAVA 문법: 배열
230718 배열 배열 (Array) 배열이란? 같은 종류의 데이터를 저장하기 위한 자료구조 크기가 고정되어 있음 (한번 생성된 배열은 크기를 바꿀 수 없음) 배열을 객체로 취급 (참조형) 배열의 요소를 참조하려면 배열 이름과 색인 (Index) 이라고 하는 음이 아닌 정수 값을 조합하여 사용 (파이썬처럼 마이너스로 접근하지 못함) index 번호를 가지고 각 요소에 접근 index 번호는0부터 시작 배열이름.length를 통해 배열의 길이 조회 가능 배열의 길이는 임의로 변경 불갛마 길이 변경 필요시 새로운 배열을 생성 후 내용을 옮긴다 배열의 선언 아래 두 가지 방식 중 하나로 가능하다 타입 [] 변수 요것을 조금 더 권장 타입 변수 [] 타입 배열 이름 선언 int iArr int[] iArr; c..
개발 일기/SSAFY 10th 2023. 8. 8.
Java 관통 프로젝트 회고
Java 관통 프로젝트: 영상 관리 프로그램 Github 개발 기간 2023/08/04 개발 인원 2명 이영현 이주원 첫 프로젝트를 했다!! json 데이터를 바탕으로 영상 목록을 보여주고, 메뉴를 선택하면 댓글과 구체적인 정보를 보여 주는 것이다. java 에서 배운 것을 기반으로 하는 프로젝트였기 때문에 ui는 console 창에서 간단히 구현했다. 프로젝트 개요 비디오 및 해당 비디오 리뷰 관리 회원가입 유저 목록 관리 프로젝트 목표 MVC 패턴 기반 프로그램 구현 싱글톤 기반 데이터 관리 메서드 구현 json 파일 데이터 자료 구조에 담기 및 관리 구현 과정 우리는 Github 저장소를 만들고, 각자 브랜치에 푸시하고, 병합하며 작업을 진행했다. VSCode를 이용할 땐 충돌이 발생할 경우 화면에..

알고리즘 문제/프로그래머스 2023. 7. 26.
(프로그래머스 Lv.2) 소수 찾기 (python)
(Lv.2) 소수 찾기 백준에서 약수배수소수 등등 정수론 문제를 박살내던 중, 최대공약수 찾는 함수와 소수 찾는 함수가 자주 쓰이는 것 같았다. 마침 이전에 스터디 하면서 조합 + 소수 판별 개념을 모두 담을 수 있는 문제가 생각나 작성해 본다. 문제 🌐 한자리 숫자가 적힌 종이 조각이 흩어져있습니다. 흩어진 종이 조각을 붙여 소수를 몇 개 만들 수 있는지 알아내려 합니다. 각 종이 조각에 적힌 숫자가 적힌 문자열 numbers가 주어졌을 때, 종이 조각으로 만들 수 있는 소수가 몇 개인지 return 하도록 solution 함수를 완성해주세요. 제한사항 numbers는 길이 1 이상 7 이하인 문자열입니다. numbers는 0~9까지 숫자만으로 이루어져 있습니다. "013"은 0, 1, 3 숫자가 적힌..

알고리즘 문제/백준 2023. 7. 25.
7785 회사에 있는 사람 (python)
7785 회사에 있는 사람 문제 🌐 상근이는 세계적인 소프트웨어 회사 기글에서 일한다. 이 회사의 가장 큰 특징은 자유로운 출퇴근 시간이다. 따라서, 직원들은 반드시 9시부터 6시까지 회사에 있지 않아도 된다. 각 직원은 자기가 원할 때 출근할 수 있고, 아무때나 퇴근할 수 있다. 상근이는 모든 사람의 출입카드 시스템의 로그를 가지고 있다. 이 로그는 어떤 사람이 회사에 들어왔는지, 나갔는지가 기록되어져 있다. 로그가 주어졌을 때, 현재 회사에 있는 모든 사람을 구하는 프로글매을 작성하시오. 입력 첫째 줄에 로그에 기록된 출입 기록의 수 n이 주어진다. (2 ≤ n ≤ 106) 다음 n개의 줄에는 출입 기록이 순서대로 주어지며, 각 사람의 이름이 주어지고 "enter"나 "leave"가 주어진다. "en..

Java/기본 문법 2023. 7. 25.
JAVA 기본 문법: 변수와 자료형, 형 변환, 연산자, 제어/반복문
230717 변수와 자료형 정의 데이터를 저장할 메모리의 위치를 나타내는 이름 메모리 상에 데이터를 보관할 수 있는 공간을 확보 적절한 메모리 공간을 확보하기 위해서 변수의 타입 등장 ‘=’ 를 통해서 CPU에게 연산 작업을 의뢰 메모리의 단위 0과 1을 표현하는 bit 8bit = 1byte 변수 (Variable) 대소문자를 구분한다 공백은 허용되지 않는다 숫자로 시작할 수 없다 ‘$’와 ‘_’를 변수 이름에 사용할 수 있다. 이외 특수문자는 허용되지 않는다 예약어(Keyword, 자바 문법을 위해서 미리 지정되어 있는 단어)는 사용할 수 없다 합성어의 경우 주로 camelCase를 활용한다 한글을 이용한 변수 작명 가능 (권장 X) 자바 예약어 abstract, boolean, break, byte..

Java/기본 문법 2023. 7. 25.
JAVA 기본 문법: JVM, 출력, main method, 출력
230717 Java 기본 운영체제와 프로그램이란? 프로그램 (Program) 컴퓨터에서 실행될 때 특정 작업 (specific task)을 수행하는 일련의 명령어들의 모음(집합) 운영체제 (Operating System, OS) 시스템 하드웨어를 관리할 뿐 아니라 응용 소프트웨어를 실행하기 위하여 하드웨어 추상화 플랫폼과 공통 시스템 서비스를 제공하는 시스템 소프트웨어 컴퓨터의 자료표현 비트 (Bit) Binary Digit 바이트 (Byte) 4 bit 2진수 (Binary) 00001001 = 9 10001001 = -119 (제일 앞 글자가 부호 나타내는 것 같음…) 음수 표현 방식: 2의 보수법 -128~127 까지 표현 자바 가상 머신 (JVM, Java Virtual Machine)이란? 자..

알고리즘 문제/백준 2023. 7. 18.
1934 13241 최소공배수 (python)
백준 단계별로 풀어보기를 하나씩 풀어 보던 중 최대공약수, 최소공배수에 대한 문제를 풀었다. A, B 두 수의 최대공약수를 알면 최소공배수를 구하는 것까지 해결할 수 있다. 두 수를 A, B라고 하고, 최대공약수를 G, 최소공배수를 L이라고 한다면, A와 B를 소인수분해 해서 A = G * a B = G * b 라는 결과를 얻을 수 있다. 우리는 중학생 시절에 L = G * a * b 라는 사실을 배웠기 때문에…. A * B * / G 정도로 계산하면 된다. 하지만 이때 최대공약수를 계산하는 방법에 문제가 생김…!!!!! (1934) 최소공배수 문제 🌐 두 자연수 A와 B에 대해서, A의 배수이면서 B의 배수인 자연수를 A와 B의 공배수라고 한다. 이런 공배수 중에서 가장 작은 수를 최소공배수라고 한다...
