분류 전체보기(196)
-
DP - 2*N 타일링
문제 (백준 11726) 2×n 크기의 직사각형을 1×2, 2×1 타일로 채우는 방법의 수를 구하는 프로그램을 작성하시오. 아래 그림은 2×5 크기의 직사각형을 채운 한 가지 방법의 예이다. 입력 첫째 줄에 n이 주어진다. (1 ≤ n ≤ 1,000) 출력 첫째 줄에 2×n 크기의 직사각형을 채우는 방법의 수를 10,007로 나눈 나머지를 출력한다. 예제 입력 1 2 예제 출력 1 2 예제 입력 2 9 예제 출력 2 55 🚀문제 접근 n이 4일때까지만 직접 그려보면 피보나치 수열임을 알 수 있고 이를 기반으로 점화식을 세울 수 있다. 하지만 다른 원리로 점화식까지 도출하는 과정이 있기에 정리하고자 한다. 2*N의 직사각형을 채우는 방법은 2*N-1 까지 직사각형을 채우고 옆에 사각형을 붙이는 방법 하나와..
2024.04.12 -
소스 코드와 명령
고급언어와 저급언어우리가 사용하는 C, C++ 같은 프로그래밍 언어들이 고급언어이다. 즉, 인간을 위한 언어이다.이제 우리가 이해할 수 있는 언어를 컴퓨터가 이해할 수 있는 언어로 변경해야되는데 컴퓨터가 이해할 수 있는 언어가 저급언어이고 저급언어에는 기계어와 어셈블리어가 있다.기계어는 명령어와 데이터가 모두 0과 1로만 이루어져있기 때문에 사람이 읽기에 의도를 파악하기 쉽지 않다. 그렇기에 어셈블리어를 만들어 읽기 편한 형태로 번역한 것이다. 0101 0101 ➡ push rbp 컴파일 언어와 인터프리터 언어고급언어가 저급언어로 변환되는 방식에는 컴파일 방식과 인터프리트 방식이 있다. C언어가 컴파일 언어이고 자바스크립트가 인터프리터 언어이다.컴파일 방식오른쪽 방향으로 컴파일이 진행된다.소스코드전처리기..
2024.04.11 -
데이터(✨중요)
정보 단위비트 : 컴퓨터가 이해하는 가장 작은 정보 단위N비트로 표현할 수 있는 정보의 갯수 ➡ 2^N 1 바이트 = 8 비트 (1byte는 "영문자" 한 글자가 저장될 수 있는 메모리 크기이며 용량의 최소단위)1 킬로바이트 = 1000 바이트1 메가바이트 = 1000 킬로바이트1 기가바이트 = 1000 메가바이트1 테라바이트 = 1000 기가바이트 참고로 이전 단위를 1024로 묶어 표현한 단위는 KiB, MiB, GiB, TiB 라고 표현한다. 추가적으로 4비트는 16가지, 8비트는 256가지, 16비트는 65,536가지이므로 16비트로 표현할 수 있는 용량의 최대 크기는 64KB가 된다. 용량을 표현하는 가장 작은 단위인 바이트를 경우의 수에 붙여주면 된다.그렇다면 32비트는 4,294,967,29..
2024.04.11 -
Level 2️⃣ - 전력망을 둘로 나누기
https://school.programmers.co.kr/learn/courses/30/lessons/86971 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🚀문제 접근 먼저 하나의 전력망을 끊어주면 두 개의 컴포넌트로 나뉘어지는 그래프가 주어지게 된다. 그렇다면 연결되어있는 모든 간선을 순회하면서 간선이 끊어졌을 때마다 나뉘어지는 컴포넌트 요소의 갯수의 차이를 절댓값으로 표현했을 때 가장 적은 값을 리턴하면 된다. 탐색을 시작할 루트 노드와 제외 노드를 활용하기 만약 4번 노드와 7번 노드가 연결된 간선을 제거한다고 했으면 다음과 같이 두 개의 컴포..
2024.04.11 -
Level 2️⃣ - 메뉴 리뉴얼
https://school.programmers.co.kr/learn/courses/30/lessons/72411 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🚀문제 접근 먼저 이 문제의 요구사항을 빠르게 파악하고, 예외할 부분을 체크하자. 문제의 핵심 요구사항은 가장 많이 함께 주문한 단품메뉴의 조합에 따라 코스요리를 만드는 것이다. 이렇게만 적어두면 무슨 말인지 잘 와닿지가 않는다. 작게 작게 이해해보자. 1번 손님 ➡ A,B,C,D,E,F 2번 손님 ➡ B,A,F 3번 손님 ➡ B,A 이렇게 손님들이 단품메뉴를 주문했다. 이 메뉴들 중에 함께 주문..
2024.04.11 -
Level 2️⃣ - 124나라의 숫자
https://school.programmers.co.kr/learn/courses/30/lessons/12899 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🚀문제 접근 124 나라에서는 모든 숫자를 1, 2, 4로만 표현한다. 즉, 숫자를 표현할 때 3개의 숫자로만 표현하므로 3진법이다. N진법과 관련된 유형의 문제가 나오면 N으로 나누었을 때의 나머지를 활용하면 된다. 문제의 예시를 살펴보면 1 은 1에 대응하고, 2는 2에 대응하며 3은 4에 대응한다. 즉, 3으로 나누었을 때 나머지가 0이면 4에 대응하는 것이고, 나머지가 1이면 1에 대응하는..
2024.04.11