Baekjoon Online Judge algorithm practice 1. 입출력과 사칙연산 Hello World ~ We love kriii 고양이
Baekjoon Online Judge algorithm practice 1. 입출력과 사칙연산 C++ / Java / Python 5. A+B 1000번 Java ~ C++ ~ Python ~ 6. A-B 1001번 Java ~ C++ ~ Pyth
Java / Python1330번 JavaPython9498번JavaPythonif문을 잘 사용하는 지 알아보는 문제 같습니다!if문은 조건을 잘 나누는 연습도 중요한 것 같아요..
Java / Python2753번 JavaPython윤년 문제는 처음 if문을 배울 때, 꽤 자주 나오는 기본문제 같습니다..!윤년은 연도가 4의 배수이면서, 100의 배수가 아닐 때 / 또는 400의 배수일 때 입니다!시간 상 하나의 문제 밖에 못 올렸네요..! 내일
Baekjoon Online Judge algorithm practice 단계별 문제풀기 3. for문 Java / Python 1. 구구단 2739번 Java Python ~ >구구단: 출력형식 num * i = num*i 2. A + B - 3 10
Java / Python8393번 1부터 n까지의 합을 출력하는 문제.JavaPython15552번 문제 중요 pointJava를 사용하고 있다면, Scanner와 System.out.println 대신 BufferedReader와 BufferedWriter를 사용할
Java / Python2741번 1부터 n까지를 출력하는 문제JavaPython2742번 n부터 1까지 거꾸로 찍는 문제JavaPython오늘은 for문 기본 예제입니다!
Java / Python11021번 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하는 문제JavaPython
Java / Python2438번 첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제JavaPython방법 1방법 22439번 첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제 (단, 오른쪽 정렬)JavaP
Java / Python10952번 0 0이 들어올 때까지 A+B를 출력하는 문제JavaPython10951번 입력이 끝날 때까지 A+B를 출력하는 문제. EOF에 대해 알아 보기EOF: end of file / 파일끝 => 컴퓨팅에서, 파일 끝은 데이터 소스로부터 더
Java / Python10818번 최솟값과 최댓값을 찾는 문제JavaPython2562번 최댓값이 어디에 있는지 찾는 문제JavaPython2577번 각 숫자가 몇 번 나왔는지 저장하기 위해 일차원 배열을 만드는 문제JavaPython오늘은 1차원 배열 문제입니다!1
Java / Python3052번 수를 42로 나누었을 때, 서로 다른 나머지가 몇 개 있는지 출력하는 문제JavaPython1546번 평균을 조작하는 문제JavaPython오늘은 1차원 배열 문제입니다!1차원 배열을 잘 응용할 수 있다면 충분히 풀 수 있는 문제들인
Java / Python8958번 OX 퀴즈의 결과를 일차원 배열로 입력받아 점수를 계산하는 문제JavaPython4344번 평균을 조작하는 문제JavaPython오늘은 1차원 배열단계 문제 마지막입니다!1차원 배열을 잘 응용할 수 있다면 충분히 풀 수 있는 문제들인
Java / Python15596번 정수 n개가 주어졌을 때, n개의 합을 구하는 함수를 작성하는 문제JavaPython4673번 평균을 조작하는 문제JavaPython오늘은 1차원 배열단계 문제 마지막입니다!1차원 배열을 잘 응용할 수 있다면 충분히 풀 수 있는 문제
Java / Python11654번 아스키 코드에 대해 알아보는 문제JavacharAt() 함수 : String으로 저장된 문자열 중에서 한 글자만 선택해서 char 타입으로 변환해주는 함수Python11720번 정수를 문자열로 입력받는 문제JavaPython오늘은 문
Java / Python10809번 한 단어에서 각 알파벳이 처음 등장하는 위치를 찾는 문제JavaJAVA에서 문자열의 위치를 반환하는 indexOf() 함수를 사용해서 문제를 간단히 풀어냈습니다..!indexOf() 함수 : 해당 문자가 처음으로 등장하는 위치를 반환
Java / Python1157번 주어진 단어에서 가장 많이 사용된 알파벳을 출력하는 문제JavacharAt() 함수 : String으로 저장된 문자열 중에서 한 글자만 선택해서 char 타입으로 변환해주는 함수Python문자열을 입력받고 중복 요소를 제거한 변수를 선
Java / Python2908번 숫자를 뒤집어서 비교하는 문제Java(num % 10) 100 => 일의 자리 수를 백의 자리로((num1 % 100) / 10) 10 => 십의 자리 수를 십의 자리로(num2 / 100) => 백의 자리 수를 일의 자리로 만들도
Java / Python2941번 크로아티아 알파벳의 개수를 세는 문제Java참고사항 : 'dz='의 경우 'z='을 포함하고 있기 때문에 순서를 먼저 해주어야 합니다..!Python1316번조건에 맞는 문자열을 찾는 문제Java조건에 따라 나눠서 다른 예제보다 코드가
Java / Python1712번 이익이 발생하는 지점을 찾는 문제고정 비용 : A, 가변 비용: B, 판매 비용: C이다.문제에서 원하는 손익분기점을 구하기 위해서는, 물건의 개수가 n이라면, n X C > A + (n X B) 의 수식을 만족하는 n을 구해야 하는
Java / Python1712번 벌집이 형성되는 규칙에 따라 벌집의 위치를 구하는 문제num : 1 / 2 ~ 7 / 8 ~ 19 / ...갯수 : 1개 / 6개 / 12개 / ...출력 : 1 / 2 / 3 / ...1을
Java / Python1193번 분수의 순서에서 규칙을 찾는 문제1/1 -> 1/2 -> 2/1 -> 3/1 -> 2/2 -> … 과 같은 지그재그 순서로 차례대로 1번, 2번, 3번, 4번, 5번, … 분수라고 하고, X가 주어졌을 때, X번째 분수를 구하는 프로그
Java / Python2869번 달팽이의 움직임을 계산하는 문제땅 위에 달팽이가 있다. 이 달팽이는 높이가 V미터인 나무 막대를 올라갈 것이다.달팽이는 낮에 A미터 올라갈 수 있다. 하지만, 밤에 잠을 자는 동안 B미터 미끄러진다. 또, 정상에 올라간 후에는 미끄러지
Java / Python10250번 호텔 방 번호의 규칙을 찾아 출력하는 문제손님은 엘리베이터를 타고 이동하는 거리는 신경 쓰지 않는다. 다만 걷는 거리가 같을 때에는 아래층의 방을 더 선호한다. 예를 들면 102 호 방보다는 301 호 방을 더 선호하는데, 102 호
Java / Python2775번 층과 거주자 수의 규칙을 찾는 문제평소 반상회에 참석하는 것을 좋아하는 주희는 이번 기회에 부녀회장이 되고 싶어 각 층의 사람들을 불러 모아 반상회를 주최하려고 한다. 이 아파트에 거주를 하려면 조건이 있는데, “a층의 b호에 살려면
Java / Python2839번 5와 3을 최소 횟수로 합하여 N을 만드는 문제상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그램 봉
Java / Python10757번 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.Java자바의 경우 큰 수 계산을 위해 Java에서 제공하는 BigInteger 클래스를 이용하는 방식으로 구현했습니다. BigInteger은 java.mat
Java / Python1011번 거리에 따른 장치 사용 횟수를 출력하는 문제우현이는 어린 시절, 지구 외의 다른 행성에서도 인류들이 살아갈 수 있는 미래가 오리라 믿었다. 그리고 그가 지구라는 세상에 발을 내려 놓은 지 23년이 지난 지금, 세계 최연소 ASNA 우주
Java / Python1978번 2부터 X-1까지 모두 나눠서 X가 소수인지 판별하는 문제 1JavaPython오늘은 기본 수학2 예제였습니다!
Java / Python2581번 2부터 X-1까지 모두 나눠서 X가 소수인지 판별하는 문제 2JavaPython오늘은 기본 수학2 예제였습니다!앞으로는 코드 구현에 관련해서 더 자세히 적어보려고 합니다..!ㅠㅠ
Java / Python11653번 N을 소인수분해하는 문제JavaPython오늘은 기본 수학2 예제였습니다!
Java / Python1929번 에라토스테네스의 체로 풀어 봅시다.에라토스테네스의 체란 간단하게 말해서, 일정 범위내 수열에서 배수들을 제거해 소수만 남기는 방법이다.예를 들어) 수열 2 3 4 5 6 7 8 9 10 에서 2의 배수 제거=> 2 3 5 7 9 에서
Java / Python4948번 소수 응용 문제 1베르트랑 공준은 임의의 자연수 n에 대하여, n보다 크고, 2n보다 작거나 같은 소수는 적어도 하나 존재한다는 내용을 담고 있다. 이 명제는 조제프 베르트랑이 1845년에 추측했고, 파프누티 체비쇼프가 1850년에 증
Java / Python9020번 소수 응용 문제 21보다 큰 자연수 중에서 1과 자기 자신을 제외한 약수가 없는 자연수를 소수라고 한다. 예를 들어, 5는 1과 5를 제외한 약수가 없기 때문에 소수이다. 하지만, 6은 6 = 2 × 3 이기 때문에 소수가 아니다.
Java / Python1085번 직사각형과 점의 거리를 구하는 문제한수는 지금 (x, y)에 있다. 직사각형의 왼쪽 아래 꼭짓점은 (0, 0)에 있고, 오른쪽 위 꼭짓점은 (w, h)에 있다. 직사각형의 경계선까지 가는 거리의 최솟값을 구하는 프로그램을 작성하시오.J
Java / Python4153번 피타고라스의 정리에 대해 배우는 문제Javaarray로 받아 sort를 이용해 가장 큰 수를 찾아주고 계산했습니다!Python3053번 유클리드 기하학과 택시 기하학에 대한 문제택시 기하학에서의 원출처유클리드 기하학에서 원의 넓이 :
Java / Python1002번 두 원의 교점의 개수를 구하는 문제조규현과 백승환은 터렛에 근무하는 직원이다. 하지만 워낙 존재감이 없어서 인구수는 차지하지 않는다. 다음은 조규현과 백승환의 사진이다.이석원은 조규현과 백승환에게 상대편 마린(류재명)의 위치를 계산하라
Java / Python10872번 팩토리얼은 단순 for문으로도 구할 수 있지만, 학습을 위해 재귀를 써 봅시다. 0보다 크거나 같은 정수 N이 주어진다. 이때, N!을 출력하는 프로그램을 작성하시오.JavaPython10870번 피보나치 수 역시 단순 for문으로도
Java / Python2447번 재귀적인 패턴을 재귀함수로 찍는 문제 1재귀적인 패턴으로 별을 찍어 보자. N이 3의 거듭제곱(3, 9, 27, ...)이라고 할 때, 크기 N의 패턴은 N×N 정사각형 모양이다.크기 3의 패턴은 가운데에 공백이 있고, 가운데를 제외한
Baekjoon Online Judge algorithm practice 단계별 문제풀기 11. 브루트 포스 > 가장 간단한 알고리즘인, 모든 경우의 수를 검사하는 브루트 포스 알고리즘을 배워 봅시다. Java / Python 1. 블랙잭 2798번 > 세
가장 간단한 알고리즘인, 모든 경우의 수를 검사하는 브루트 포스 알고리즘을 배워 봅시다.Java / Python7568번 모든 사람을 비교하여 덩치 등수를 구하는 문제우리는 사람의 덩치를 키와 몸무게, 이 두 개의 값으로 표현하여 그 등수를 매겨보려고 한다. 어떤 사람
가장 간단한 알고리즘인, 모든 경우의 수를 검사하는 브루트 포스 알고리즘을 배워 봅시다.Java / Python1018번 체스판을 만드는 모든 경우를 시도하여 최적의 방법을 찾는 문제지민이는 자신의 저택에서 MN개의 단위 정사각형으로 나누어져 있는 MxN 크기의 보드를
가장 간단한 알고리즘인, 모든 경우의 수를 검사하는 브루트 포스 알고리즘을 배워 봅시다.Java / Python1436번 N번째 종말의 수가 나올 때까지 차례대로 시도하는 문제666은 종말을 나타내는 숫자라고 한다. 따라서, 많은 블록버스터 영화에서는 666이 들어간
배열의 원소를 순서대로 나열하는 알고리즘을 배워 봅시다.Java / Python1436번 시간 복잡도가 O(n²)인 정렬 알고리즘으로 풀 수 있습니다. 예를 들면 삽입 정렬, 거품 정렬 등이 있습니다.N개의 수가 주어졌을 때, 이를 오름차순으로 정렬하는 프로그램을 작성
배열의 원소를 순서대로 나열하는 알고리즘을 배워 봅시다.Java / Python2751번 시간 복잡도가 O(n²)인 정렬 알고리즘으로 풀 수 있습니다. 예를 들면 삽입 정렬, 거품 정렬 등이 있습니다.N개의 수가 주어졌을 때, 이를 오름차순으로 정렬하는 프로그램을 작성
배열의 원소를 순서대로 나열하는 알고리즘을 배워 봅시다.Java / Python10989번 수의 범위가 작다면 카운팅 정렬을 사용하여 더욱 빠르게 정렬할 수 있습니다N개의 수가 주어졌을 때, 이를 오름차순으로 정렬하는 프로그램을 작성하시오.항목들의 순서를 결정하기 위해
배열의 원소를 순서대로 나열하는 알고리즘을 배워 봅시다.Java / Python2108번 정렬을 활용하는 문제수를 처리하는 것은 통계학에서 상당히 중요한 일이다. 통계학에서 N개의 수를 대표하는 기본 통계값에는 다음과 같은 것들이 있다. 단, N은 홀수라고 가정하자.1
배열의 원소를 순서대로 나열하는 알고리즘을 배워 봅시다.Java / Python1427번 숫자를 정렬하는 문제배열을 정렬하는 것은 쉽다. 수가 주어지면, 그 수의 각 자리수를 내림차순으로 정렬해보자.JavaPython
배열의 원소를 순서대로 나열하는 알고리즘을 배워 봅시다.Java / Python11650번 좌표를 정렬하는 문제2차원 평면 위의 점 N개가 주어진다. 좌표를 x좌표가 증가하는 순으로, x좌표가 같으면 y좌표가 증가하는 순서로 정렬한 다음 출력하는 프로그램을 작성하시오.
배열의 원소를 순서대로 나열하는 알고리즘을 배워 봅시다.Java / Python11651번 좌표를 다른 순서로 정렬하는 문제2차원 평면 위의 점 N개가 주어진다. 좌표를 y좌표가 증가하는 순으로, y좌표가 같으면 x좌표가 증가하는 순서로 정렬한 다음 출력하는 프로그램을
배열의 원소를 순서대로 나열하는 알고리즘을 배워 봅시다.Java / Python1181번 단어의 순서를 정의하여 정렬하는 문제알파벳 소문자로 이루어진 N개의 단어가 들어오면 아래와 같은 조건에 따라 정렬하는 프로그램을 작성하시오.1\. 길이가 짧은 것부터2\. 길이가
배열의 원소를 순서대로 나열하는 알고리즘을 배워 봅시다.Java / Python10814번 값이 같은 원소의 전후관계가 바뀌지 않는 정렬 알고리즘을 안정 정렬(stable sort)이라고 합니다.온라인 저지에 가입한 사람들의 나이와 이름이 가입한 순서대로 주어진다. 이
모든 경우를 탐색하는 백트래킹 알고리즘을 배워 봅시다.Java / Python15649번 백트래킹 입문 문제 1자연수 N과 M이 주어졌을 때, 아래 조건을 만족하는 길이가 M인 수열을 모두 구하는 프로그램을 작성하시오.1부터 N까지 자연수 중에서 중복 없이 M개를 고른
모든 경우를 탐색하는 백트래킹 알고리즘을 배워 봅시다.Java / Python15650번 백트래킹 입문 문제 2자연수 N과 M이 주어졌을 때, 아래 조건을 만족하는 길이가 M인 수열을 모두 구하는 프로그램을 작성하시오.1부터 N까지 자연수 중에서 중복 없이 M개를 고른
모든 경우를 탐색하는 백트래킹 알고리즘을 배워 봅시다.Java / Python15651번 백트래킹 입문 문제 3자연수 N과 M이 주어졌을 때, 아래 조건을 만족하는 길이가 M인 수열을 모두 구하는 프로그램을 작성하시오.1부터 N까지 자연수 중에서 M개를 고른 수열같은
모든 경우를 탐색하는 백트래킹 알고리즘을 배워 봅시다.Java / Python15652번 백트래킹 입문 문제 4비내림차순(순열의 오른쪽 요소가 크거나 같음)Java수행시간을 빠르게 하기 위해 BufferedReader와 StringBuilder를 이용했습니다. Pyth
모든 경우를 탐색하는 백트래킹 알고리즘을 배워 봅시다.Java / Python9663번 조금 더 복잡한 백트래킹 문제 1Java자바의 경우 재귀호출함수부분과 조건을 확인하는 함수를 다르게 작성했습니다.Python (PyPy3)Python의 경우 이번 예제에서 거의 계속
모든 경우를 탐색하는 백트래킹 알고리즘을 배워 봅시다.Java / Python2580번 조금 더 복잡한 백트래킹 문제 2스도쿠의 숫자를 채우기 위한 중복 검사 순서는 다음과 같다.1\. 같은 행에 있는 열 원소 중에 겹치는 수가 있는지 검사2\. 같은 열에 있는 행 원
모든 경우를 탐색하는 백트래킹 알고리즘을 배워 봅시다.Java / Python14888번 삼성 SW 역량 테스트 기출 문제 1JavaPython
Baekjoon Online Judge algorithm practice 단계별 문제풀기 13. 백트래킹 > 모든 경우를 탐색하는 백트래킹 알고리즘을 배워 봅시다. Java / Python 8. 스타트와 링크 14889번 > 삼성 SW 역량 테스트 기출 문제
기초적인 동적 계획법 문제들을 풀어봅시다.Java / Python1003번 단순 재귀로 피보나치 수를 구하면 왜 느릴까요? 함수 호출의 개수가 기하급수적으로 늘어나기 때문입니다.Java시간 초과가 나와서 코드 실행시간을 줄이기 위해 BufferedReader와 Stri
기초적인 동적 계획법 문제들을 풀어봅시다.동적 계획법이란?복잡한 문제를 간단한 여러 개의 문제로 나누어 푸는 방법을 말한다. 부분 문제 반복과 최적 부분 구조를 가지고 있는 알고리즘을 일반적인 방법에 비해 더욱 적은 시간 내에 풀 때 사용한다. 일반적으로 주어진 문제를
기초적인 동적 계획법 문제들을 풀어봅시다.Java / Python1904번 점화식의 값을 특정 상수로 나눈 나머지를 구하는 문제JavaJava ver.2\_반복문을 이용한 방법앞의 코드가 재귀를 이용한 코드 였다고 하면, 이 방법은 동적 계획법을 변형하여 단순 반복문으
기초적인 동적 계획법 문제들을 풀어봅시다.Java / Python9461번 피보나치 수와 비슷한 규칙을 찾아 동적 계획법으로 푸는 문제Java파도반 수열의 경우 N = 100의 경우 int형 범위를 넘어가기 때문에 long 타입으로 해주어야 합니다. Top-Down(재
기초적인 동적 계획법 문제들을 풀어봅시다.Java / Python1149번 i번째 집을 각각의 색으로 칠할 때, 1~i번째 집을 모두 칠하는 최소 비용으로 부분문제를 정의해봅시다.모든 집을 칠하는 비용의 최솟값을 구하는 문제이기 때문에, 각 집의 최솟값을 찾아 누적합을
기초적인 동적 계획법 문제들을 풀어봅시다.Java / Python1932번 각 층의 모든 칸마다 최댓값을 저장하면서 동적 계획법으로 푸는 문제JavaBufferedReader는 문자열을 한 줄로 읽기 때문에, 공백을 기준으로 문자열을 분리하기 위해서 StringToke
기초적인 동적 계획법 문제들을 풀어봅시다.Java / Python2579번 i번째 계단에 오를 때, 몇 개의 연속한 계단을 올랐는지를 고려하여 부분문제를 정의해봅시다.JavaBottom-Up 방법(반복문 이용)입니다. 계단 1층부터 하나씩 값을 더해가면서 채워나가 마지
기초적인 동적 계획법 문제들을 풀어봅시다.Java / Python1463번 메모이제이션으로 N을 1로 바꾸기 위해 주어진 연산을 몇 번 사용하는지 계산하는 문제문제의 테스트 케이스를 보면, 10의 경우에 10 -> 9 -> 3 -> 1 로 3번 만에 만들 수 있다.는
기초적인 동적 계획법 문제들을 풀어봅시다.Java / Python10844번 동적 계획법을 이용해 계단 수를 구하는 문제JavaPython
기초적인 동적 계획법 문제들을 풀어봅시다.Java / Python2156번 규칙에 따라 포도주를 마실 때, 최대로 마실 수 있는 포도주의 양을 구하는 문제JavaPython
기초적인 동적 계획법 문제들을 풀어봅시다.Java / Python11053번 LIS(Longest Increasing Subsequence)를 구하는 문제먼저, N번째 값에 대해 이전에 탐색한 결과물이 있는지를 검사해야 합니다.만약 없다면 탐색하지 않았다는 뜻이기 때문
기초적인 동적 계획법 문제들을 풀어봅시다.Java / Python11054번 LIS 응용 문제 1바이토닉 수열이란, 길이 N의 수열 S의 특정 수 Sk를 기준으로S1 < S2 < ... < Sk-1 < Sk > Sk+1 > ... > SN를 만족하
Baekjoon Online Judge algorithm practice 단계별 문제풀기 15. 동적 계획법1 > 기초적인 동적 계획법 문제들을 풀어봅시다. Java / Python 13. 전깃줄 2565번 > LIS 응용 문제 2 Java Python
기초적인 동적 계획법 문제들을 풀어봅시다.Java / Python9251번 LCS(Longest Common Subsequence)를 구하는 문제LCS(Longest Common Subsequence, 최장 공통 부분 수열)문제란, 주어진 여러 개의 수열 모두의 부분수
기초적인 동적 계획법 문제들을 풀어봅시다.Java / Python1912번 가장 큰 연속합을 구하는 문제JavaPython
Baekjoon Online Judge algorithm practice - 단계별 문제풀기 15. 동적 계획법1 > 기초적인 동적 계획법 문제들을 풀어봅시다. Java / Python 16. 평범한 배낭 12865번 > 대표적인 DP 문제 중 하나인 "냅색
특정 상황에서 성립하는 그리디 알고리즘을 배워 봅시다.Java / Python11047번 동전의 조건이 특별해서 동적 프로그래밍보다 빠르게 답을 찾을 수 있는 문제Greedy Algorithms(탐욕법, 탐욕 알고리즘)이란문제를 해결하는 과정에서 그 순간순간마다 최적이
특정 상황에서 성립하는 그리디 알고리즘을 배워 봅시다.Java / Python1931번 가능한 한 많은 구간을 선택하는 문제이 문제의 특징은 '한 사람이 한번에 하나의 활동에 대해서만 작업할 수 있다'라는 점입니다. 즉, 하나의 활동을 완료하기 전까지는 다른 활동을 선
특정 상황에서 성립하는 그리디 알고리즘을 배워 봅시다.Java / Python11399번 기다리는 시간의 합을 최소화하는 문제JavaPython
특정 상황에서 성립하는 그리디 알고리즘을 배워 봅시다.Java / Python1541번 식의 값을 가능한 한 작게 만드는 문제"잃어버린 괄호" 문제는 가장 최소의 결과를 얻는 괄호를 쳐서 최소의 결과를 얻어내는 문제입니다. 마이너스를 만날 때 가장 큰 수를 빼면 되는
특정 상황에서 성립하는 그리디 알고리즘을 배워 봅시다.Java / Python13305번 최소 비용으로 주유하여 일직선 도로를 달리는 문제이번 문제는 입력받은 도시별 기름 가격을 내림차순으로 만들어 각 도시별 거리를 곱하여 더해주면 되는 방식입니다!JavaPython
정수론과 조합론을 배워 봅시다.Java / Python5086번 배수와 약수를 배우는 문제이번 문제는 첫번째 수가 두번째 숫자의 약수라면 factor, 배수라면 mutiple, 둘 다 아니면 neither를 출력하는 비교적 간단한 문제입니다.JavaPython
정수론과 조합론을 배워 봅시다.Java / Python1037번 약수의 성질을 활용하는 문제이번 문제는 어떤 수 N의 진짜 약수가 모두 주어질 때, N을 구하는 문제입니다.따라서 입력되는 약수 중 최솟값과 최대값을 곱해서 N을 구하는 방식으로 작성했습니다.JavaPyt
정수론과 조합론을 배워 봅시다.Java / Python2609번 최대공약수와 최소공배수를 구하는 문제두 개의 자연수를 입력받아 최대 공약수와 최소 공배수를 출력하는 문제입니다. 최대 공약수 GCD를 이용하여 풀 수 있습니다. 조금 더 자세히 정리해보면, 최대 공약수 G
정수론과 조합론을 배워 봅시다.Java / Python1934번 유클리드 알고리즘으로 더 빠르게 푸는 문제두 개의 자연수를 입력받아 최소 공배수를 출력하는 문제로, 유클리드 알고리즘을 이용하는 문제입니다. 유클리드 호제법 (Euclidean algorithm)이란2개의
정수론과 조합론을 배워 봅시다.Java / Python2981번 N개의 수를 M으로 나누었을 때, 나머지가 전부 같은 M을 찾는 문제이번 문제의 key는 'M이 하나 이상 존재하는 경우로만 주어진다'는 것과 '나머지가 모두 같게 되는 M을 찾으려고 한다'라는 점입니다.
정수론과 조합론을 배워 봅시다.Java / Python3036번 첫번째 링을 한 바퀴 돌렸을 때, 나머지 링이 몇 바퀴 도는지 구하는 문제이번 문제는 첫 번째 링을 한 바퀴 돌리면, 나머지 링은 몇바퀴 돌아가는 지 출력하면 되는데, 기약분수 형태로 출력하면 되기 때문에
정수론과 조합론을 배워 봅시다.Java / Python11050번 N개의 물건 중 순서를 고려하지 않고 K개를 고르는 경우의 수, 이항 계수를 구하는 문제이번 문제는 계수를 구하기 위해서 nCr을 구하면 되는 문제인 것 같습니다.nCrJavaPython ( python
정수론과 조합론을 배워 봅시다.Java / Python11051번 더 넓은 범위의 이항 계수를 동적 계획법으로 구하는 문제이번 문제는 저번 이항 계수 1 문제와 비슷한데, 이항 계수 값에 10,007로 나눈 나머지를 출력하는 문제입니다. 파스칼의 삼각형을 이용하여 풀었
정수론과 조합론을 배워 봅시다.Java / Python1010번 다리를 놓는 경우의 수를 구하는 문제이번 문제는 저번 이항 계수 1 문제와 유사한 문제입니다. 즉, 조합을 이용하는 문제입니다. N ≤ M 에서 최대한 많은 다리를 놓기 위해서 M개 중 N개를 선택해서 조
정수론과 조합론을 배워 봅시다.Java / Python9375번 경우의 수 연습문제이번 문제는 조합을 이용하는 문제입니다. 의상 이름과 의상 종류를 입력 받고, 옷의 종류가 중복되지 않게 조합해야 합니다. 같은 종류의 의상은 입을 수 없어, 다른 종류의 의상끼리 구분하
정수론과 조합론을 배워 봅시다.Java / Python1676번 소인수분해의 성질을 활용하여 N!의 끝에 0이 얼마나 많이 오는지 구하는 문제이번 문제는 N!에서 뒤에서부터 처음 0이 아닌 숫자가 나올 때까지 0의 개수를 구하는 문제입니다.문제를 살펴보면, 뒷자리가 0
정수론과 조합론을 배워 봅시다.Java / Python2004번 위와 비슷한데 N! 대신 이항계수가 들어간 문제이번 문제는 저번 문제와 유사한데, N!이 아닌 조합에서 끝자리 0의 개수를 구하는 문제입니다.이항 계수를 구하는 공식입니다.여기서도 0의 개수는 2, 5의
스택을 구현하고 사용해 봅시다.Java / Python10828번 스택의 개념을 익히고 실습하는 문제이번 문제는 스택(Stack)을 간단하게 구현해보는 문제입니다. 스택은 리스트의 한쪽 끝에서 수행 되는 선형 리스트 한가지 형태입니다. 스택은 LIFO(Last in F
스택을 구현하고 사용해 봅시다.Java / Python10773번 가장 최근에 쓴 수를 지우는 문제이번 문제는 자바의 경우, 스택 클래스를 이용, 파이썬은 리스트를 이용해 간단하게 작성했습니다. 0을 입력받으면 저장 받은 top 원소를 지우고 스택에 있는 수의 합을 출
스택을 구현하고 사용해 봅시다.Java / Python9012번 주어진 문자열이 올바른 괄호열인지 판단하는 문제이번 문제는 올바른 괄호열인지 확인하는 문제입니다. 알맞은 괄호 수식의 원리는 여는 괄호 '(' 가 있으면 반드시 이에 대응하는 닫는 괄호 ')' 가 있어야한
Baekjoon Online Judge algorithm practice - 단계별 문제풀기 18. 스택 > 스택을 구현하고 사용해 봅시다. Java / Python 4. 균형잡힌 세상 4949번 > 위와 같은데 괄호의 종류가 다양해진 문제 > 이번 문제는
스택을 구현하고 사용해 봅시다.Java / Python1847번 스택을 활용하는 문제이번 문제는 스택에 1 부터 n까지 수를 스택에 넣고(push) 빼는(pop) 과정을 통해 임의의 수열이 주어졌을 때 해당 수열을 만들 수 있는지를 판단하는 문제입니다. 스택에 수를 p
스택을 구현하고 사용해 봅시다.Java / Python17298번 스택으로 풀 수 있는 꽤 어려운 문제이번 문제는 크기가 N인 수열에서 각 원소에 대해 오른쪽에 있으면서 해당 원소보다 큰 수 중에서 가장 왼쪽 수를 구하는 문제입니다.수열을 탐색할 때, 현재 원소가 이전
큐와 덱을 구현하고 사용해 봅시다.Java / Python18258번 큐의 개념을 익히고 실습하는 문제. 연산 당 시간 복잡도가 O(1)이어야 한다는 점에 유의하세요.이번 문제는 큐를 구현하는 문제입니다.큐(Queue)를 구현해보는 문제입니다. 큐는 스택의 반대 개념으
큐와 덱을 구현하고 사용해 봅시다.Java / Python2164번 큐를 사용하여 동작을 구현하는 문제이번 문제는 N장의 카드가 주어졌을 때, 제일 마지막에 남게 되는 카드를 구하는 문제입니다. 제일 위에 있는 카드를 바닥에 버린다. 그 다음, 제일 위에 있는 카드를
큐와 덱을 구현하고 사용해 봅시다.Java / Python11866번 큐를 이용해 제거 과정을 구현하는 문제이번 문제는 요세푸스 문제입니다.1부터 N까지 나열된 수에서 K 번째 수마다 차례대로 뽑아낸 수열을 출력하는 문제입니다. K 번째 수가 되기 직전까지 맨 앞 원소
큐와 덱을 구현하고 사용해 봅시다.Java / Python1966번 큐의 개념이 응용된 문제이번 문제는 프린터로 문서를 출력한다고 하면 원래 FIFO에 따라 인쇄되는데, 그 인쇄 조건에 중요도를 적용하는 문제입니다. 현재 Queue에 있는 문서의 수와 중요도에 따라 어
큐와 덱을 구현하고 사용해 봅시다.Java / Python10866번 덱의 개념을 익히고 실습하는 문제. (입력 크기가 너무 작아서 비효율적인 구현으로도 통과가 되지만, 가급적이면 연산 당 시간 복잡도가 O(1)이도록 구현해 주세요.)이번 문제는 덱을 구현하는 문제입니
큐와 덱을 구현하고 사용해 봅시다.Java / Python1021번 덱을 활용하여 큐를 회전시키는 문제이번 문제는 N개의 원소를 포함하고 있는 양방향 순환 큐를 이용하는 문제입니다. 자세히 보면, 이 큐에서 3가지 연산을 수행할 수 있고 뽑으려고 하는 원소를 주어진 순
큐와 덱을 구현하고 사용해 봅시다.Java / Python5430번 덱을 활용하여 시간복잡도를 향상시키는 문제이번 문제는 배열에 있는 숫자의 순서를 뒤집는 함수 R과, 첫 번째 숫자를 버리는 함수 D가 있는 정수 배열에 연산을 하기 위해 만든 언어 AC를 이용해서 푸는
재귀를 응용하는 알고리즘, 분할 정복을 익혀 봅시다.Java / Python2630번 쿼드트리를 만드는 문제이번 문제는 정사각형 모양의 종이를 일정한 규칙에 따라 잘라 다양한 크기를 가진 하얀색 또는 파란색 색종이를 만드는 문제입니다. 정사각형으로 4등분씩 분할하면서
재귀를 응용하는 알고리즘, 분할 정복을 익혀 봅시다.Java / Python1992번 쿼드트리를 문자열로 바꾸는 문제이번 문제는 흑백 영상을 압축하여 표현하는 데이터 구조인 쿼드트리를 이용하여 N x N 크기의 영상을 압축한 결과를 출력하는 문제입니다. 저번 색종이 문
재귀를 응용하는 알고리즘, 분할 정복을 익혀 봅시다.Java / Python1780번 쿼드트리와 비슷한데 4개 대신 9개로 나누는 문제이번 문제는 N×N크기의 행렬로 표현되는 종이를 이용하는 문제입니다. 종이의 각 칸에는 -1, 0, 1의 세 값 중 하나가 저장되어 있
재귀를 응용하는 알고리즘, 분할 정복을 익혀 봅시다.Java / Python1629번 분할 정복으로 거듭제곱을 빠르게 계산하는 문제이번 문제는 자연수 A를 B번 곱한 수를 C로 나눈 나머지를 출력하는 문제입니다. 이런 방식으로 구현했습니다.b의 값이 짝수인지 홀수인지
재귀를 응용하는 알고리즘, 분할 정복을 익혀 봅시다.Java / Python11401번 분할 정복을 사용한 거듭제곱과 페르마의 소정리를 이용해 곱셈의 역원을 구하는 문제이번 문제는 자연수 N과 정수 K가 주어졌을 때 이항 계수를 1,000,000,007로 나눈 나머지를
재귀를 응용하는 알고리즘, 분할 정복을 익혀 봅시다.Java / Python2740번 행렬의 거듭제곱을 계산하기 전에 먼저 풀어야 할 문제이번 문제는 NxM크기의 행렬 A와 MxK크기의 행렬 B가 주어졌을 때, 두 행렬을 곱하는 프로그램을 작성하는 문제입니다.JavaP
재귀를 응용하는 알고리즘, 분할 정복을 익혀 봅시다.Java / Python10830번 분할 정복으로 행렬의 거듭제곱을 빠르게 계산하는 문제이번 문제는 크기가 NxN인 행렬 A가 주어지는데, 이때, A의 B제곱을 구하는 프로그램을 작성하는 문제입니다.JavaPython
재귀를 응용하는 알고리즘, 분할 정복을 익혀 봅시다.Java / Python11444번 행렬 곱셈을 응용해 피보나치 수를 구하는 문제이번 문제는 n이 주어졌을 때, n번째 피보나치 수를 구하는 프로그램을 작성하는 문제입니다. n은 1,000,000,000,000,000
재귀를 응용하는 알고리즘, 분할 정복을 익혀 봅시다.Java / Python6549번 히스토그램에서 가장 큰 직사각형을 찾는 문제. 분할 정복으로도 풀 수 있고, 스택으로 풀 수도 있습니다.이번 문제는 히스토그램에서 가장 넓이가 큰 직사각형을 구하는 프로그램을 작성하는
Baekjoon Online Judge algorithm practice - 단계별 문제풀기 20. 분할 정복 > 재귀를 응용하는 알고리즘, 분할 정복을 익혀 봅시다. Java / Python 10. 가장 가까운 두 점 2261번 > 가장 가까운 두 점을 구
이분 탐색 알고리즘을 배워 봅시다.Java / Python1920번 배열을 정렬한 후 이분 탐색으로 값을 찾아 봅시다.이번 문제는 N개의 정수가 주어져 있을 때, 이 안에 X라는 정수가 존재하는 지 알아내는 프로그램을 작성하는 문제입니다. N개의 정수(A1~AN)가 주
이분 탐색 알고리즘을 배워 봅시다.Java / Python10816번 이분 탐색으로 값의 개수를 찾아 봅시다.이번 문제는 숫자 카드 N개가 주어지고, 정수 M개가 주어질 때, 이 수가 적혀있는 숫자 카드가 몇개인지 구하는 프로그램을 작성하는 문제입니다.JavaPytho
이분 탐색 알고리즘을 배워 봅시다.Java / Python1654번 흔히 parametric search라고도 부르는, 이분 탐색을 응용하여 최솟값이나 최댓값을 찾는 테크닉을 배우는 문제이번 문제는 K개의 랜선을 N개의 같은 길이의 랜선으로 잘라 만들 때, N개를 만들
이분 탐색 알고리즘을 배워 봅시다.Java / Python2805번 이분 탐색을 응용하여 최솟값이나 최댓값을 찾는 문제 2이번 문제는 적어도 M미터의 나무를 집에 가져가기 위해서 절단기에 설정할 수 있는 높이의 최댓값을 구하는 프로그램을 작성하는 문제입니다.JavaPy
이분 탐색 알고리즘을 배워 봅시다.Java / Python2110번 이분 탐색을 응용하여 최솟값이나 최댓값을 찾는 문제 3이번 문제는 c개의 공유기를 N개의 집에 적당히 설치해서, 가장 인접한 두 공유기 사이의 거리를 최대로 하는 프로그램을 작성하는 문제입니다.Java
이분 탐색 알고리즘을 배워 봅시다.Java / Python1300번 의외로 이분 탐색으로 풀 수 있는 놀라운 문제 1이번 문제는 크기가 NxN인 배열 A에 들어있는 수 (Ai = ixj)를 일차원 배열 B(NxN)에 넣어 B를 오름파순 정렬했을 때 Bk를 구하는 문제입
이분 탐색 알고리즘을 배워 봅시다.Java / Python12015번 의외로 이분 탐색으로 풀 수 있는 놀라운 문제 2. 자주 사용되는 알고리즘이니 알아 둡시다.이번 문제는 수열 A가 주어졌을 때, 가장 긴 증가하는 부분 수열을 구하는 프로그램을 작성하는 문제입니다.
가장 작은/큰 원소를 뽑는 자료구조를 배워 봅시다.Java / Python11279번 최댓값을 빠르게 뽑는 자료구조를 배우는 문제이번 문제는 최대 힙을 이용하여 연산을 하는 프로그램을 작성하는 문제입니다. 연산은 아래 두 종류 입니다.1\. 배열에 자연수 x를 넣는다.
가장 작은/큰 원소를 뽑는 자료구조를 배워 봅시다.Java / Python1927번 최솟값을 빠르게 뽑는 문제이번 문제는 최소 힙을 이용하여 연산을 하는 프로그램을 작성하는 문제입니다. 연산은 아래 두 종류 입니다.1\. 배열에 자연수 x를 넣는다. 2\. 배열에서 가
가장 작은/큰 원소를 뽑는 자료구조를 배워 봅시다.Java / Python11286번 새로운 기준으로 뽑는 우선순위 큐를 만드는 문제이번 문제는 절댓값 힙을 이용하여 연산을 하는 프로그램을 작성하는 문제입니다. 연산은 아래 두 종류 입니다.1\. 배열에 정수 x (x
가장 작은/큰 원소를 뽑는 자료구조를 배워 봅시다.Java / Python1655번 우선순위 큐를 응용하여 중앙값을 빠르게 찾는 문제이번 문제는 정수 N개가 차례로 주어지는데, 한 줄에 하나씩 N줄에 걸쳐 수의 중간 값 수를 순서대로 출력하는 문제입니다. (수의 개수가
조금 더 어려운 동적 계획법 문제를 풀어 봅시다.Java / Python11066번 파일을 합쳐 하나로 모으는 최소 비용을 구하는 문제이번 문제는 소설의 각 장들이 수록되어 있는 파일의 크기가 주어졌을 때, 이 파일들을 하나의 파일로 합칠 때 필요한 최소비용을 계산하는
조금 더 어려운 동적 계획법 문제를 풀어 봅시다.Java / Python11049번 행렬을 곱하는 최소 비용을 구하는 문제이번 문제는 행렬 N개의 크기가 주어졌을 때, 모든 행렬을 곱하는데 필요한 곱셈 연산의 횟수의 최솟값을 구하는 프로그램을 작성하는 문제입니다. 행렬
Baekjoon Online Judge algorithm practice - 단계별 문제풀기 23. 동적 계획법2 > 조금 더 어려운 동적 계획법 문제를 풀어 봅시다. Java / Python 3. 내리막 길 1520번 > 내리막길로만 이동하는 경우의 수를
조금 더 어려운 동적 계획법 문제를 풀어 봅시다.Java / Python10942번 팰린드롬?이번 문제는 자연수 N 개와 질문 M 개가 모두 주어질 때, 각 질문은 두 정수 S와 E로 S 번째 수부터 E 번째까지 수가 팰린드롬을 이루는지 물어보는 질문으로, 자연수가 팰
조금 더 어려운 동적 계획법 문제를 풀어 봅시다.Java / Python2629번 예전에 배웠던 냅색 알고리즘으로 푸는 문제이번 문제는 양팔 저울과 몇 개의 추가 주어졌을 때, 이를 이용하여 입력으로 주어진 구슬의 무게를 확인할 수 있는지를 결정하는 것으로, 추들의 무
조금 더 어려운 동적 계획법 문제를 풀어 봅시다.Java / Python2293번 더 이상 사용되지 않는 값을 버림으로써 공간 복잡도를 향상시키는 문제. 메모리 제한에 주목하세요.이번 문제는 n가지 종류의 동전이 있고, 각각의 동전이 나타내는 가치는 다를 때, 이 동전
조금 더 어려운 동적 계획법 문제를 풀어 봅시다.Java / Python7579번 발상의 전환이 필요한 냅색 문제이번 문제는 dp를 이용하는 Knapsack Proble입니다. 담을 수 있는 물건이 나누어 질 수 없는 경우인 0-1 배낭문제의 경우입니다.각 앱의 메모리
그래프를 순회하는 알고리즘을 배워 봅시다.Java / Python1260번 DFS와 BFS를 다루는 문제이번 문제는 그래프를 DFS로 탐색한 결과와 BFS로 탐색한 결과를 출력하는 프로그램을 작성하는 문제입니다. 단, 방문할 수 있는 정점이 여러 개인 경우에는 정점 번
그래프를 순회하는 알고리즘을 배워 봅시다.Java / Python2606번 BFS나 DFS로 그래프를 순회해서 방문할 수 있는 정점을 찾는 문제이번 문제는 컴퓨터의 수와 네트워크 상에서 서로 연결되어 있는 정보가 주어질 때, 1번 컴퓨터를 통해 웜 바이러스에 걸리게 되
그래프를 순회하는 알고리즘을 배워 봅시다.Java / Python2667번 2차원 배열을 그래프로 표현해 BFS나 DFS로 순회하는 문제이번 문제는 지도를 입력하여 단지수를 출력하고, 각 단지에 속하는 집의 수를 오름차순으로 정렬하여 출력하는 프로그램을 작성하는 문제입
그래프를 순회하는 알고리즘을 배워 봅시다.Java / Python1012번 땅의 모습이 아니라 배추의 위치가 주어지는 문제이번 문제는 배추밭에 필요한 배추흰지렁이를 구하는 문제입니다.Java이번 문제를 DFS를 이용했습니다. dfs(int x, int y)는 다음과 같
그래프를 순회하는 알고리즘을 배워 봅시다.Java / Python2178번 BFS의 특징은 각 정점을 최단경로로 방문한다는 것입니다. 이 점을 활용해 최단거리를 구해 봅시다.이번 문제는 미로에서 1은 이동할 수 있는 칸을 나타내고, 0은 이동할 수 없는 칸을 나타내는
그래프를 순회하는 알고리즘을 배워 봅시다.Java / Python7576번 BFS로 토마토를 익히는 문제이번 문제는 토마토를 창고에 보관하는 격자모양의 상자들의 크기와 익은 토마토들과 익지 않은 토마토들의 정보가 주어졌을 때, 며칠이 지나면 토마토들이 모두 익는지, 그
그래프를 순회하는 알고리즘을 배워 봅시다.Java / Python7569번 위 문제의 3차원 버전(토마토 7576번 문제의 3차원 버전)이번 문제는 토마토를 창고에 보관하는 격자모양의 상자들의 크기와 익은 토마토들과 익지 않은 토마토들의 정보가 주어졌을 때, 며칠이 지
그래프를 순회하는 알고리즘을 배워 봅시다.Java / Python1697번 또 다른 BFS 최단거리 연습문제이번 문제는 수빈이와 동생의 위치가 주어졌을 때, 수빈이가 동생을 찾을 수 있는 가장 빠른 시간이 몇 초 후인지 구하는 프로그램을 작성하는 문제입니다.BFS 탐색
그래프를 순회하는 알고리즘을 배워 봅시다.Java / Python2206번 "현재 상태"를 정점으로 표현하여 그래프를 만들고 최단거리를 구하는 문제이번 문제는 NxM의 행렬로 표현되는 맵이 주어질 때, 최단 경로를 구하는 프로그램을 작성하는 문제입니다.BFS 탐색을 이
그래프를 순회하는 알고리즘을 배워 봅시다.Java / Python7562번 나이트를 목적지까지 이동시키는 문제이번 문제는 나이트를 목적지까지 이동시키는 문제입니다. 체스판 위 나이트를 몇번 움직이면 목적지 칸까지 이동할 수 있는지 구하는 문제입니다.BFS 탐색을 이용했
그래프를 순회하는 알고리즘을 배워 봅시다.Java / Python1707번 그래프 순회를 통해 이분 그래프를 판별하는 문제이번 문제는 그래프의 정점의 집합을 둘로 분할하여, 각 집합에 속한 정점끼리는 서로 인접하지 않도록 분할할 수 있을 때, 이 그래프를 이분 그래프
그래프의 간선에 가중치가 없으면 BFS로 최단거리를 찾을 수 있습니다. 가중치가 있다면 어떨까요?Java / Python1753번 다익스트라 알고리즘을 배우는 문제이번 문제는 방향그래프가 주어지면 주어진 시작점에서 다른 모든 정점으로의 최단 경로를 구하는 프로그램을 작
그래프의 간선에 가중치가 없으면 BFS로 최단거리를 찾을 수 있습니다. 가중치가 있다면 어떨까요?Java / Python1504번 규칙을 만족하는 최단 거리를 구하는 문제이번 문제는 1번 정점에서 N번 정점으로 이동할 때, 주어진 두 정점을 반드시 거치면서 최단 경로로
그래프의 간선에 가중치가 없으면 BFS로 최단거리를 찾을 수 있습니다. 가중치가 있다면 어떨까요?Java / Python9370번 최단 거리 알고리즘 응용 문제이번 문제는 간단하게 정리하면 출발점 -> 도착지 까지의 최단거리 중 특정 간선을 지나는 경우를 구하는 문제입
그래프의 간선에 가중치가 없으면 BFS로 최단거리를 찾을 수 있습니다. 가중치가 있다면 어떨까요?Java / Python11657번 벨만 포드 알고리즘을 배우는 문제이번 문제는 1번 도시에서 출발해서 나머지 도시로 가는 가장 빠른 시간을 구하는 프로그램을 작성하는 문제
그래프의 간선에 가중치가 없으면 BFS로 최단거리를 찾을 수 있습니다. 가중치가 있다면 어떨까요?Java / Python11404번 플로이드 와셜 알고리즘을 배우는 문제이번 문제는 모든 도시의 쌍 (A, B)에 대해서 도시 A에서 B로 가는데 필요한 비용의 최솟값을 구
그래프의 간선에 가중치가 없으면 BFS로 최단거리를 찾을 수 있습니다. 가중치가 있다면 어떨까요?Java / Python10217번 간선을 사용하는 비용과 예산 제약이 있을 때 다이나믹 프로그래밍으로 최단거리를 찾는 문제이번 문제는 각 공항들간 티켓가격과 이동시간이 주
그래프의 간선에 가중치가 없으면 BFS로 최단거리를 찾을 수 있습니다. 가중치가 있다면 어떨까요?Java / Python1956번 최단 거리 알고리즘을 응용하여 최단 사이클을 찾는 문제이번 문제는 도로의 정보가 주어졌을 때, 도로의 길이의 합이 가장 작은 사이클을 찾는
투 포인터 알고리즘과 meet in the middle 알고리즘을 배워 봅시다.Java / Python3273번 양끝에서 포인터를 좁혀가면서 Ai + Aj = x인 모든 경우를 찾는 문제 (더 쉬운 방법이 있지만, 연습을 위해 투 포인터를 써봅시다.)이번 문제는 자연수
투 포인터 알고리즘과 meet in the middle 알고리즘을 배워 봅시다.Java / Python2470번 Ai + Aj가 0에 가까운 경우를 찾는 문제이번 문제는 산성 용액과 알칼리성 용액의 특성값이 주어졌을 때, 이 중 두 개의 서로 다른 용액을 혼합하여 특성
투 포인터 알고리즘과 meet in the middle 알고리즘을 배워 봅시다.Java / Python1806번 한 쪽에서 두 포인터를 이동시키는 문제이번 문제는 10,000 이하의 자연수로 이루어진 길이 N짜리 수열이 주어질 때, 이 수열에서 연속된 수들의 부분합 중
Baekjoon Online Judge algorithm practice - 단계별 문제풀기 26. 투 포인터 > 투 포인터 알고리즘과 meet in the middle 알고리즘을 배워 봅시다. Java / Python 4. 소수의 연속합 1644번 > 한
투 포인터 알고리즘과 meet in the middle 알고리즘을 배워 봅시다.Java / Python1450번 Meet in the middle 알고리즘을 배우는 문제이번 문제는 N개의 물건을 가방에 넣는 방법의 수를 구하는 프로그램을 작성하는 문제입니다.투 포인터
지금까지는 최솟값, 최댓값, 최단거리만 찾았습니다. 이번에는 실제 최적해와 최단경로를 찾아 봅시다.Java / Python12852번 1로 만드는 최적해를 출력하는 문제이번 문제는 정수 N이 주어졌을 때, 위와 같은 연산 세 개를 적절히 사용해서 1을 만들려고 한다.
지금까지는 최솟값, 최댓값, 최단거리만 찾았습니다. 이번에는 실제 최적해와 최단경로를 찾아 봅시다.Java / Python14002번 O(N^2) LIS를 출력하는 문제이번 문제는 수열 A가 주어졌을 때, 가장 긴 증가하는 부분 수열을 구하는 프로그램을 작성하는 문제입
지금까지는 최솟값, 최댓값, 최단거리만 찾았습니다. 이번에는 실제 최적해와 최단경로를 찾아 봅시다.Java / Python14003번 O(NlogN) LIS를 출력하는 문제이번 문제는 수열 A가 주어졌을 때, 가장 긴 증가하는 부분 수열을 구하는 프로그램을 작성하는 문
지금까지는 최솟값, 최댓값, 최단거리만 찾았습니다. 이번에는 실제 최적해와 최단경로를 찾아 봅시다.Java / Python9252번 LCS를 출력하는 문제이번 문제는 LCS문제로, LCS(Longest Common Subsequence, 최장 공통 부분 수열)문제는 두
Baekjoon Online Judge algorithm practice - 단계별 문제풀기 27. 동적 계획법과 최단거리 역추적 > 지금까지는 최솟값, 최댓값, 최단거리만 찾았습니다. 이번에는 실제 최적해와 최단경로를 찾아 봅시다. Java / Python
지금까지는 최솟값, 최댓값, 최단거리만 찾았습니다. 이번에는 실제 최적해와 최단경로를 찾아 봅시다.Java / Python13913번 BFS 최단경로를 출력하는 문제이번 문제는 수빈이와 동생의 위치가 주어졌을 때, 수빈이가 동생을 찾을 수 있는 가장 빠른 시간이 몇 초
지금까지는 최솟값, 최댓값, 최단거리만 찾았습니다. 이번에는 실제 최적해와 최단경로를 찾아 봅시다.Java / Python9019번 조금 더 복잡한 BFS 문제이번 문제는 BFS를 활용해서, D, S, L, R 명령을 하나하나 수행해주며 해당 값을 찾는 문제입니다.Ja
지금까지는 최솟값, 최댓값, 최단거리만 찾았습니다. 이번에는 실제 최적해와 최단경로를 찾아 봅시다.Java / Python11779번 간선에 가중치가 있을 때 최단경로를 출력하는 문제이번 문제는 A번째 도시에서 B번째 도시 까지 가는데 드는 최소비용과 경로를 출력하는
지금까지는 최솟값, 최댓값, 최단거리만 찾았습니다. 이번에는 실제 최적해와 최단경로를 찾아 봅시다.Java / Python11780번 플로이드 알고리즘에서 최단경로를 출력하는 문제이번 모든 도시의 쌍 (A, B)에 대해서 도시 A에서 B로 가는데 필요한 비용의 최솟값을
대표적인 그래프 종류 중 하나인 트리를 다뤄 봅시다.Java / Python11725번 루트가 1인 트리가 주어질 때, 각 노드의 부모를 구하는 문제이번 문제는 트리가 주어질 때, 각 노드의 부모를 구하는 문제입니다.DFS(깊이 우선 탐색)를 통해서 탐색을 했습니다.
대표적인 그래프 종류 중 하나인 트리를 다뤄 봅시다.Java / Python1167번 BFS나 DFS로 트리에서 가장 먼 두 점을 찾는 문제이번 문제는 트리에서 임의의 두 점 사이의 거리 중 가장 긴 부분, 즉, 트리의 지름을 구하는 프로그램을 작성하는 문제이다.루트에
대표적인 그래프 종류 중 하나인 트리를 다뤄 봅시다.Java / Python1967번 가중치가 있는 트리의 지름을 구하는 문제이번 문제는 입력으로 루트가 있는 트리를 가중치가 있는 간선들로 줄 때, 트리의 지름을 구해서 출력하는 프로그램을 작성하는 문제이다.루트기준으로
대표적인 그래프 종류 중 하나인 트리를 다뤄 봅시다.Java / Python1991번 이진 트리에 대해 알아보고, 이진 트리를 순회해 봅시다.이번 문제는 이진 트리를 입력받아 전위 순회(preorder traversal), 중위 순회(inorder traversal),
대표적인 그래프 종류 중 하나인 트리를 다뤄 봅시다.Java / Python2263번 중위 순회와 후위 순회가 주어졌을 때 전위 순회를 구하는 문제이번 문제는 이진 트리의 중위 순회(inorder traversal)와 후위 순회(postorder traversal)가
대표적인 그래프 종류 중 하나인 트리를 다뤄 봅시다.Java / Python5639번 이진 검색 트리의 전위 순회가 주어졌을 때 후위 순회를 구하는 문제이번 문제는 이진 검색 트리를 전위 순회한 결과가 주어졌을 때, 이 트리를 후위 순회한 결과를 구하는 프로그램을 작성
대표적인 그래프 종류 중 하나인 트리를 다뤄 봅시다.Java / Python4803번 주어진 그래프가 트리인지 판별하는 문제이번 문제는 그래프가 주어졌을 때, 트리의 개수를 세는 프로그램을 작성하는 문제이다.DFS를 이용해 트리의 사이클이 존재하는 것을 찾아 제외하고
유니온 파인드(또는 disjoint set, 상호 배타적 집합, ...) 자료구조를 배워 봅시다.Java / Python1717번 유니온 파인드(disjoint set)에 대해 알아보는 문제이번 문제는 집합을 표현하는 프로그램을 작성하는 문제이다.parent를 자기 자
유니온 파인드(또는 disjoint set, 상호 배타적 집합, ...) 자료구조를 배워 봅시다.Java / Python1976번 BFS, DFS 뿐만 아니라 유니온 파인드로도 두 정점이 연결되어 있는지를 확인할 수 있습니다.이번 문제는 도시들의 개수와 도시들 간의 연
유니온 파인드(또는 disjoint set, 상호 배타적 집합, ...) 자료구조를 배워 봅시다.Java / Python4195번 유니온 파인드에 집합의 크기를 구하는 기능을 넣는 문제이번 문제는 어떤 사이트의 친구 관계가 생긴 순서대로 주어졌을 때, 두 사람의 친구
유니온 파인드(또는 disjoint set, 상호 배타적 집합, ...) 자료구조를 배워 봅시다.Java / Python20040번 간선을 점차 추가하면서 사이클을 찾는 문제이번 문제는 입력으로 점의 개수 n과 m 번째 차례까지의 게임 진행 상황이 주어지면 사이클이 완
최소 비용으로 그래프의 모든 정점을 연결해 봅시다.Java / Python9372번 신장 트리가 중요한 이유는, 가장 적은 개수의 간선으로 모든 정점을 연결할 수 있기 때문입니다. 이 문제를 통해 확인해 봅시다.이번 문제는 방학 동안의 비행 스케줄이 주어졌을 때, 상근
최소 비용으로 그래프의 모든 정점을 연결해 봅시다.Java / Python1197번 신장 트리 중에서도 가중치 합이 최소인 최소 신장 트리(MST)를 배우는 문제이번 문제는 그래프가 주어졌을 때, 그 그래프의 최소 스패닝 트리를 구하는 프로그램을 작성하는 문제이다.크루
최소 비용으로 그래프의 모든 정점을 연결해 봅시다.Java / Python4386번 좌표평면에서 MST를 만드는 문제이번 문제는 별들이 2차원 평면 위에 놓여 있고, 선을 하나 이을 때마다 두 별 사이의 거리만큼의 비용이 든다고 할 때, 별자리를 만드는 최소 비용을 구
최소 비용으로 그래프의 모든 정점을 연결해 봅시다.Java / Python1774번 이미 사용된 간선이 있을 때 최소 비용으로 나머지를 완성하는 문제이번 문제는 우주신들과 연결된 통로들이 존재할 때 ,아직 연결이 되지 않은 우주신들을 연결해, 새로 만들어야 할 정신적인
최소 비용으로 그래프의 모든 정점을 연결해 봅시다.Java / Python2887번 문제의 특성을 활용하여 고려할 간선의 개수를 줄임으로써 푸는 문제이번 문제는 터널을 총 N-1개 건설해서 모든 행성이 서로 연결되게 하려고 할 때, 모든 행성을 터널로 연결하는데 필요한
최소 비용으로 그래프의 모든 정점을 연결해 봅시다.Java / Python17472번 삼성 A형 기출 문제이번 문제는 나라의 정보가 주어졌을 때, 모든 섬을 연결하는 다리 길이의 최솟값을 구하는 문제이다.각 섬을 구분하기 위해 섬마다 번호를 붙인다. (bfs활용) 각
트리에 동적 계획법을 적용해 봅시다.Java / Python15681번 트리 DP의 기본을 다지는 문제. 아래에 풀이 설명도 있습니다!이번 문제는 간선에 가중치와 방향성이 없는 임의의 루트 있는 트리가 주어졌을 때, 정점 U를 루트로 하는 서브트리에 속한 정점의 수를
트리에 동적 계획법을 적용해 봅시다.Java / Python2213번 트리의 최대 독립 집합을 구하는 문제. 일반적인 그래프에서 최대 독립 집합을 구하는 문제는 NP-하드로, 효율적인 알고리즘이 알려지지 않았습니다.이번 문제는 일반적인 그래프가 아니라 트리(연결되어 있
트리에 동적 계획법을 적용해 봅시다.Java / Python2533번 이것도 일반적인 그래프에서는 NP-하드입니다.이번 문제는 친구 관계 트리가 주어졌을 때, 모든 개인이 새로운 아이디어를 수용하기 위하여 필요한 최소 얼리 어답터의 수를 구하는 프로그램을 작성하는 문제
트리에 동적 계획법을 적용해 봅시다.Java / Python1949번 또다른 트리 DP 문제이번 문제는 각 마을 주민 수와 마을 사이의 길에 대한 정보가 주어졌을 때, 주어진 조건을 만족하도록 '우수 마을'을 선정하는 프로그램을 작성하는 문제이다.dfs를 이용하며, d
조금 더 어려운 기하 문제를 풀어 봅시다.Java / Python2166번 다각형의 면적을 구하는 문제이번 문제는 다각형의 면적을 구하는 기하 문제이다.가우스의 면적공식인 신발끈 공식을 이용한다.JavaPython
조금 더 어려운 기하 문제를 풀어 봅시다.Java / Python11758번 세 점이 이루는 방향을 구하는 문제이번 문제는 2차원 좌표 평면 위에 있는 점 3개 P1, P2, P3가 주어진다. P1, P2, P3를 순서대로 이은 선분이 어떤 방향을 이루고 있는지 구하는
조금 더 어려운 기하 문제를 풀어 봅시다.Java / Python17386번 두 선분의 교차를 판별하는 문제이번 문제는 2차원 좌표 평면 위의 두 선분 L1, L2가 주어졌을 때, 두 선분이 교차하는지 아닌지 구하는 문제이다. L1과 L2가 교차하면 1, 아니면 0을
조금 더 어려운 기하 문제를 풀어 봅시다.Java / Python17387번 위와 같은데 특이 케이스가 등장하는 문제이번 문제는 2차원 좌표 평면 위의 두 선분 L1, L2가 주어졌을 때, 두 선분이 교차하는지 아닌지 구하는 문제이다. 한 선분의 끝 점이 다른 선분이나
조금 더 어려운 기하 문제를 풀어 봅시다.Java / Python20149번 위와 같은데 교점의 좌표까지 찾는 문제이번 문제는 2차원 좌표 평면 위의 두 선분 L1, L2가 주어졌을 때, 두 선분이 교차하는지 아닌지 구하는 문제이다. 한 선분의 끝 점이 다른 선분이나
조금 더 어려운 기하 문제를 풀어 봅시다.Java / Python2162번 선분 교차를 응용하는 문제이번 문제는 N개의 선분들이 주어졌을 때, 이 선분들은 총 몇 개의 그룹으로 되어 있는지, 가장 크기가 큰 그룹에 속한 선분의 개수는 몇 개인지, 이 두 가지를 구하는
조금 더 어려운 기하 문제를 풀어 봅시다.Java / Python7869번 삼각함수를 사용하는 문제이번 문제는 두 원이 주어졌을 때, 교차하는 영역의 넓이를 소수점 셋째자리까지 구하는 문제이다. 삼각함수를 이용해 두 원의 교점을 구하는 식은 아래 블로그에서 공식을 잘
조금 더 어려운 기하 문제를 풀어 봅시다.Java / Python1069번 집으로 가는 문제이번 문제는 집에 돌아오는데 걸리는 시간의 최솟값을 구하는 문제이다. 지금 (x, y)에 있고, (0, 0)에 있는 집으로 가능한 한 빨리 가려고 한다. 다음과 같이 두 가지 방
배열의 원소를 순서대로 나열하는 알고리즘을 배워 봅시다.Java / Python18870번 만약 정확한 값이 필요 없고 값의 대소 관계만 필요하다면, 모든 수를 0 이상 N 미만의 수로 바꿀 수 있습니다.Javaclone 함수를 통해 입력 받은 Number 함수를 복제
비트마스크를 배우고, 동적 계획법에 적용해 봅시다. 그 후에는 선형이 아니라 원형으로 구성된 문제를 다룹니다.Java / Python11723번비트마스크 DP에 대해 다루기 전에, 일단 비트마스크부터 다뤄 봅시다.이번 문제는 비어있는 공집합 S가 주어졌을 때, 아래 연
비트마스크를 배우고, 동적 계획법에 적용해 봅시다. 그 후에는 선형이 아니라 원형으로 구성된 문제를 다룹니다.Java / Python1311번선택한 열의 상태를 비트마스크로 저장하여 DP를 진행하는 문제이번 문제는 Dij를 i번 사람이 j번 일을 할 때 필요한 비용이라
Baekjoon Online Judge algorithm practice - 단계별 문제풀기 33. 동적 계획법3 > 비트마스크를 배우고, 동적 계획법에 적용해 봅시다. 그 후에는 선형이 아니라 원형으로 구성된 문제를 다룹니다. Java / Python 3.
비트마스크를 배우고, 동적 계획법에 적용해 봅시다. 그 후에는 선형이 아니라 원형으로 구성된 문제를 다룹니다.Java / Python1086번박성원이 풀지 못한 문제이번 문제는 N이 최대 15개 주어질 때, 이 수를 모두 사용한 순열을 순서대로 이어붙인 숫자 중 k(K
비트마스크를 배우고, 동적 계획법에 적용해 봅시다. 그 후에는 선형이 아니라 원형으로 구성된 문제를 다룹니다.Java / Python17404번집이 원형으로 배열된 RGB거리 문제이번 문제는 각각의 집을 빨강, 초록, 파랑으로 칠하는 비용이 주어졌을 때, 아래 규칙을
비트마스크를 배우고, 동적 계획법에 적용해 봅시다. 그 후에는 선형이 아니라 원형으로 구성된 문제를 다룹니다.2482번원에서 인접하지 않게 색을 선택하는 문제이번 문제는 주어진 정수 N과 K에 대하여, N개의 색으로 구성되어 있는 색상환 (N색상환)에서 어떤 인접한 두
KMP 알고리즘과 트라이 자료구조를 다뤄 봅시다.1786번문자열 T에서 문자열 P가 있는지 찾는 알고리즘인 KMP 알고리즘을 배우는 문제이번 문제는 주어진 정수 N과 K에 대하여, N개의 색으로 구성되어 있는 색상환 (N색상환)에서 어떤 인접한 두 색도 동시에 선택하지
KMP 알고리즘과 트라이 자료구조를 다뤄 봅시다.4354번KMP의 failure function을 활용하는 문제 1이번 문제는 문자열 s가 주어졌을 때, 어떤 문자열 a에 대해서 s=a^n을 만족하는 가장 큰 n을 찾는 문제이다.저번 문제 (1786번 찾기) 처럼 KM
KMP 알고리즘과 트라이 자료구조를 다뤄 봅시다.1305번KMP의 failure function을 활용하는 문제 2이번 문제는 어느 순간 전광판을 쳐다봤을 때, 그 때 쓰여 있는 문자가 입력으로 주어졌을 때, 가능한 광고의 길이중 가장 짧은 것을 출력하는 문제이다.문자
KMP 알고리즘과 트라이 자료구조를 다뤄 봅시다.10266번문자열 찾기 알고리즘을 응용하는 문제이번 문제는 두 사진에 대한 묘사가 주어질 때, 두 사진의 시계가 같은 시각을 나타내는지 결정하는 문제이다.clock2를 이용해 pi를 구하고, clock1을 이어 붙인 배열
KMP 알고리즘과 트라이 자료구조를 다뤄 봅시다.14725번트라이에 대한 감을 잡는 문제이번 문제는 로봇 개미들이 보내준 문자열 바탕으로 개미굴이 어떤 구조인지 확인하는 문제이다. 로봇 개미가 각 층을 따라 내려오면서 알게 된 먹이의 정보 개수 N개(1 ≤ N ≤ 1
KMP 알고리즘과 트라이 자료구조를 다뤄 봅시다.14425번트라이보다 쉽게 풀 수 있는 문제지만, 연습을 위해 트라이로 풀어 봅시다.이번 문제는 입력으로 주어지는 M개의 문자열 중에서 집합 S에 포함되어 있는 것이 총 몇 개인지 구하는 문제이다.Java / Python
KMP 알고리즘과 트라이 자료구조를 다뤄 봅시다.5670번조금 어려운 문제이번 문제는 사전 내에서 가능한 다음 글자가 하나뿐이라면 그 글자를 버튼 입력 없이 자동으로 입력해 주는 모듈을 사용하면서 단어를 입력하기 위해 버튼을 눌러야 하는 횟수의 평균을 구하는 문제이다.
간선에 방향이 있는 그래프의 정점을 나열해 역방향이 없게 만드는 알고리즘을 다뤄 봅시다.2252번위상정렬을 배우는 문제이번 문제는 일부 학생들의 키를 비교한 결과가 주어졌을 때, 줄을 세우는 프로그램을 작성하는 문제이다.노드 갯수 N, 간선 갯수 M 을 받은 후, 간선
간선에 방향이 있는 그래프의 정점을 나열해 역방향이 없게 만드는 알고리즘을 다뤄 봅시다.3665번간선을 직접 정의한 다음 위상정렬을 하는 문제이번 문제는 작년 순위와 상대적인 순위가 바뀐 모든 팀의 목록이 주어졌을 때, 올해 순위를 만드는 프로그램을 작성하는 문제이다
간선에 방향이 있는 그래프의 정점을 나열해 역방향이 없게 만드는 알고리즘을 다뤄 봅시다.1005번위상정렬된 순서대로 동적 계획법을 적용하는 문제이번 문제는, 요약하면, 특정건물을 가장 빨리 지을 때까지 걸리는 최소시간을 알아내는 문제이다.따라서 이번 문제의 경우 위상
간선에 방향이 있는 그래프의 정점을 나열해 역방향이 없게 만드는 알고리즘을 다뤄 봅시다.1766번위상정렬 알고리즘을 변형하여 사전순으로 가장 앞선 위상정렬을 찾는 문제이번 문제는 문제의 개수와 먼저 푸는 것이 좋은 문제에 대한 정보가 주어졌을 때, 주어진 조건을 만족하
트리에서 두 정점의 최소 공통 조상을 구하는 자료구조를 배워 봅시다.3584번LCA에 대해 알아 봅시다. 한 쌍의 LCA만 구하면 되므로 아직은 효율적인 구현이 필요하지 않습니다.이번 문제는 루트가 있는 트리가 주어지고, 두 노드가 주어질 때 그 두 노드의 가장 가까운
트리에서 두 정점의 최소 공통 조상을 구하는 자료구조를 배워 봅시다.17435번효율적인 LCA 구현을 위해 필요한 sparse table 자료구조를 배워 봅시다.이번 문제는 n과 x가 주어질 때 fn(x)를 계산하는 쿼리를 수행하는 프로그램을 작성하는 문제이다.Spar
트리에서 두 정점의 최소 공통 조상을 구하는 자료구조를 배워 봅시다.11438번LCA를 효율적으로 구해 봅시다.이번 문제는 두 노드의 쌍 M(1 ≤ M ≤ 100,000)개가 주어졌을 때, 두 노드의 가장 가까운 공통 조상이 몇 번인지 출력하는 문제이다.dfs를 통해서
트리에서 두 정점의 최소 공통 조상을 구하는 자료구조를 배워 봅시다.3176번트리 상의 경로에서 최솟값과 최댓값을 찾는 문제이번 문제는 모든 도시의 쌍에는 그 도시를 연결하는 유일한 경로가 있고, 각 도로의 길이는 입력으로 주어지고 총 K개의 도시 쌍이 주어질 때, 두
트리에서 두 정점의 최소 공통 조상을 구하는 자료구조를 배워 봅시다.13511번트리 상의 경로에서 k번째 정점을 구하는 문제이번 문제는 N개의 정점으로 이루어진 트리(무방향 사이클이 없는 연결 그래프)가 있다. 정점은 1번부터 N번까지 번호가 매겨져 있고, 간선은 1번
Strongly connected component를 다뤄 봅시다.2150번Strongly connected component를 만들어 봅시다.이번 문제는 방향 그래프가 주어졌을 때, 그 그래프를 SCC(Strongly Connected Component)들로 나누는
Strongly connected component를 다뤄 봅시다.4196번SCC를 사용하는 문제 1이번 문제는 이제 각 도미노 블록의 배치가 주어졌을 때, 모든 블록을 넘어뜨리기 위해 손으로 넘어뜨려야 하는 블록 개수의 최솟값을 구하는 문제이다.SCC를 찾는 알고리즘
Strongly connected component를 다뤄 봅시다.3977번SCC를 사용하는 문제 2이번 문제는 경기장을 여러 개의 구역으로 나누고, 어떤 선수가 A구역에서 B구역으로 이동하게 하는 움직임을 (A, B)로 표현한다고 할 때, 다른 모든 구역에 도달할 수
Strongly connected component를 다뤄 봅시다.4013번각각의 SCC를 하나로 묶은 다음 각 묶음마다 답을 계산하는 문제이번 문제는 출발 장소에서 어떤 레스토랑까지 이동하면서 인출할 수 있는 현금의 최대 액수가 얼마인지를 계산하는 프로그램을 작성하는
Strongly connected component를 다뤄 봅시다.11280번SCC를 응용하여 풀 수 있는 2-SAT 문제에 대해 배워 봅시다.이번 문제는 2-SAT은 N개의 불리언 변수 (x_1, x_2, ..., x_n)가 있을 때, 2-CNF 식을 true로 만
Baekjoon Online Judge algorithm practice - 단계별 문제풀기 37. 강한 연결 요소 > Strongly connected component를 다뤄 봅시다. 6. 2-SAT - 4 11281번 > 2-SAT의 해를 출력해 봅시다.
Strongly connected component를 다뤄 봅시다.3648번상근이가 진출하면서 동시에 2-SAT을 성립시킬 수 있는지 판별하는 문제아이돌 예선에 참가하는 상근이가 심사위원의 의심을 받지 않으면서, 다음 라운드에 진출하는 목록을 만들 수 있는지를 알고 싶
Strongly connected component를 다뤄 봅시다.16367번2-SAT이 아닌 것처럼 보이지만 2-SAT으로 바꿀 수 있는 문제이번 문제는 영어로 되어 있어 해석을 가져왔다.각 램프는 빨간색 또는 파란색의 색을 가지고 있다. 그러나 램프를 켜야 램프의