전체 글

전체 글

    [Java] Unsigned int 구현 방법

    자바에서는 C와 같은 언어에서처럼 명시적으로 unsigned int를 지원하지 않습니다. 자바에서는 모든 정수 타입이 부호를 가지며, 음수와 양수를 모두 표현할 수 있습니다. 그러나 구현을 한다면, 버전별로 쉽게 두 가지 방법이 있습니다. 자바 8 이전(기존 방식) long unsignedIntValue = Integer.toUnsignedLong(signedIntValue); Java 8 이후 (Unsigned 클래스 사용) import java.util.concurrent.atomic.AtomicInteger; import java.util.concurrent.atomic.AtomicLong; // 부호 없는 int int unsignedIntValue = Integer.toUnsignedInt(si..

    MSB(Most Significant Bit) & LSB(Least Significant Bit)

    단순 요약 : MSB(Most Significant Bit)는 정보를 나타내는 비트, 해당 이진수의 가장 왼쪽에 위치한 비트를 가리킵니다. LSB(Less Significant Bit)는 이진수에서 가장 낮은 자리에 있는 비트를 나타냅니다. 컴퓨터에서 수를 표현할 때, MSB가 부호를 결정하며, 1이면 음수, 0이면 양수임을 뜻합니다. 즉, 맨 앞의 비트는 부호를 나타내고, 두번째부터 끝까지 비트로 수 자체를 나타냅니다. 개념 설명 MSB(Most Significant Bit)는 정보를 나타내는 이진수에서 가장 중요한 비트를 나타냅니다. 이진수는 0과 1로 이루어진 수 체계이며, MSB는 해당 이진수의 가장 왼쪽에 위치한 비트를 가리킵니다. 이진수의 각 비트는 2의 거듭제곱을 나타내며, MSB는 가장 큰..

    Signed & Unsigned 정의 및 차이

    언어들에서 어렵지 않게 자주 접하게 되는 이 keyword, 개념을 알아보겠습니다. 쉽게 이해하는 방법은 두 가지가 있습니다. 1. SIGN => 부호가 있다. UNSIGN => 부호가 없다. 즉, '-' 가 있냐, 없냐로 이해하기 2. '음수까지 표현하느냐, 음수를 표현하지 않느냐' 로 이해하기 - signed : 양수, 음수가 있는 수 (부호를 가지는 값, 양수/음수 구분 O) - unsigned : 양수만 있는 수 (부호를 갖지 않는 값, 양수/음수 구분 X) 부호를 보는 한 MSB(Most Significant Bit)를 부호로 사용하게 되는데, 그 부분을 숫자의 부분으로 활용하여 음수를 표현하지 못하는 대신, 양수의 범위가 늘어나는 것이다. ex) signed char => -128~127의 범..

    [백준] 카드 뽑기 - 16204 Java[자바]

    [Unrated] 카드 뽑기 - 16204 문제 링크 16204번: 카드 뽑기 첫째 줄에 N, M, K가 주어진다. (1 ≤ N ≤ 1,000,000, 0 ≤ M, K ≤ N) www.acmicpc.net 성능 요약 메모리: 17724 KB, 시간: 208 ms 분류 수학, 구현, 사칙연산 문제 설명 앞 면에 O와 X가 적혀있는 카드 N개가 있다. N개의 카드 중 M개의 카드의 앞면에는 O가 한 개 적혀있고, 나머지 N-M개의 카드의 앞면에는 X가 한 개 적혀있다. 카드의 뒷 면은 두 종류의 카드 모두 같은 모양이라 구분할 수 없다. 카드의 뒷 면에 O나 X를 하나씩 적으려고 한다. 이 때, O는 K개, X는 N-K개 적으려고 한다. 앞 면과 뒷 면에 같은 모양이 적혀있는 카드의 최대 개수를 구하는 프로..

    [백준] Lunacy - 4714 Java[자바]

    [Unrated] Lunacy - 4714 문제 링크 4714번: Lunacy After several months struggling with a diet, Jack has become obsessed with the idea of weighing less. In an odd way, he finds it very comforting to think that, if he had simply had the luck to be born on a different planet, his weight could be considerably www.acmicpc.net 성능 요약 메모리: 17880 KB, 시간: 220 ms 분류 수학, 구현, 사칙연산 문제 설명 After several months strugg..

    [백준] 감소하는 수 -1038 Java[자바]

    [Unrated] 감소하는 수 - 1038 문제 링크 1038번: 감소하는 수 음이 아닌 정수 X의 자릿수가 가장 큰 자릿수부터 작은 자릿수까지 감소한다면, 그 수를 감소하는 수라고 한다. 예를 들어, 321과 950은 감소하는 수지만, 322와 958은 아니다. N번째 감소하는 수를 www.acmicpc.net 성능 요약 메모리: 17748 KB, 시간: 208 ms 분류 브루트포스 알고리즘, 백트래킹 문제 설명 음이 아닌 정수 X의 자릿수가 가장 큰 자릿수부터 작은 자릿수까지 감소한다면, 그 수를 감소하는 수라고 한다. 예를 들어, 321과 950은 감소하는 수지만, 322와 958은 아니다. N번째 감소하는 수를 출력하는 프로그램을 작성하시오. 0은 0번째 감소하는 수이고, 1은 1번째 감소하는 수..

    React Hooks

    👉 React Hooks란? React 에서 기존에 사용하던 Class를 이용한 코드를 작성할 필요 없이, state와, 여러 React 기능을 사용할 수 있도록 만든 라이브러리 React Hook 개발 과정 1. 클래스 컴포넌트 사용 2. 함수 컴포넌트와, 리액트 훅 사용 ( 리액트 훅은, 함수 컴포넌트에서만 사용가능하다 ) 함수 컴포넌트가 어떤 값을 유지할 수 있도록, '캐시'를 만들었다. 이 캐시를 이용하고자 만든 여러개의 API를 '리액트 훅' 함수라고 부른다. React Hook의 필요성 함수 컴포넌트도 클래스 컴포넌트처럼 사용할 수 있다. 함수 컴포넌트는 클래스 컴포넌트와 다르게, 모듈로 활용하기가 쉬우므로 ( why? ) 서로의 장점을 전부다 가지고 있다. 👉 React Hooks 사용규칙 ..

    [백준] 나부 함대 데이터 - 9654 Java[자바]

    [Unrated] 나부 함대 데이터 - 9654 문제 링크 9654번: 나부 함대 데이터 나부 행성의 함대의 정보를 아래와 예제 출력과 같은 표로 출력한다. 처음 두 열의 너비는 문자 15개, 세 번째 열은 11개, 마지막 열의 너비는 10개이다. www.acmicpc.net 성능 요약 메모리: 14036 KB, 시간: 120 ms 분류 구현 문제 설명 나부 행성의 함대 정보를 출력하는 프로그램을 작성하시오. 입력 Empty 출력 나부 행성의 함대의 정보를 아래와 예제 출력과 같은 표로 출력한다. 처음 두 열의 너비는 문자 15개, 세 번째 열은 11개, 마지막 열의 너비는 10개이다. 답 : 양식대로 표현식을 적어주고, 출력한다. public class Main { public static void m..

    [백준] 11021. A+B - 7 Java[자바]

    [Unrated] A+B - 7 - 11021 문제 링크 11021번: A+B - 7 각 테스트 케이스마다 "Case #x: "를 출력한 다음, A+B를 출력한다. 테스트 케이스 번호는 1부터 시작한다. www.acmicpc.net 성능 요약 메모리: 18792 KB, 시간: 256 ms 분류 수학, 구현, 사칙연산 문제 설명 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있으며, 각 줄에 A와 B가 주어진다. (0 < A, B < 10) 출력 각 테스트 케이스마다 "Case #x: "를 출력한 다음, A+B를 출력한다. 테스트 케이스 번호는 1부터 시작한다. 답 : 입력받아 계산하고..

    SPA(Single Page Application) vs MPA(Multi Page Application)

    SPA(Single Page Application) vs MPA(Multi Page Application)는 웹 애플리케이션의 구조와 디자인 패턴에서 중요한 역할을 한다. SPA는 하나의 HTML 페이지와 JavaScript, CSS 등의 파일을 사용하여 애플리케이션을 작성하는 방식입니다. 초기에는 페이지를 로드하고, 그 후에는 필요한 데이터를 동적으로 로드하며, 이전에 렌더링된 컴포넌트를 업데이트하고 페이지 전체를 다시 로드하지 않습니다. SPA는 단일 페이지로 구성되어 있기 때문에 사용자 경험이 좋고, 웹 애플리케이션을 구축하기 위해 필요한 모든 코드가 한 곳에 모여있어 개발이 쉽습니다. 반면, SEO 최적화와 같은 몇 가지 기능을 구현하기 위해서는 추가 작업이 필요합니다. 대표적인 SPA 프레임워크..

    [React] Context란?

    기존 일반적인 React는 일반적으로 컴포넌트의 props를 통한 데이터 전달 부모에서 자식으로 단방향. 자주 사용하는 데이터의 경우 코드도 복잡하고 사용하는데 불편. 그래서 Context 가 등장함. 컨텍스트는 다른 레벨의 많은 컴포넌트가 특정 컴포넌트를 필요로할 때 주로 사용 Context 는 props 를 통해 전달하는 방식 대신 Component에게 곧바로 전달한다. 로그인 정보나 프로필 정보 등을 이동시키려면 반복 코드가 많아지고 지저분해진다. Context 사용시 Context 언제 사용해야할까? 여러 개의 Component들이 접근해야하는 데이터를 전달해야할 때 ex) 로그인 여부(+ 로그인, 로그아웃 버튼 노출시 확인 필요), 로그인 정보, UI테마, 현재 언어, 지역 정보 등 기존 방식으..

    [백준] 큰 수 (BIG) - 14928 Java[자바]

    [Unrated] 큰 수 (BIG) - 14928 문제 링크 14928번: 큰 수 (BIG) 첫째 줄에 제연이가 가장 좋아하는 수 N이 주어진다. (N ≤ 101,000,000) www.acmicpc.net 성능 요약 메모리: 20024 KB, 시간: 256 ms 분류 수학, 사칙연산, 임의 정밀도 / 큰 수 연산 문제 설명 제연이는 그의 생일(2000년 3월 3일)을 기념해 자신이 가장 좋아하는 수를 20000303으로 나눈 나머지를 구해 그 수만큼 잠을 자기로 했다. 제연이가 얼마나 잠을 잘 수 있을지 구하자. 입력 첫째 줄에 제연이가 가장 좋아하는 수 N이 주어진다. (N ≤ 101,000,000) 출력 N을 20000303으로 나눈 나머지를 출력한다. 답 : import java.io.Buffer..