전체 글

Algorithm/문제

[알고리즘] 백준 1002 : 터렛 - JAVA

문제 1002번: 터렛 각 테스트 케이스마다 류재명이 있을 수 있는 위치의 수를 출력한다. 만약 류재명이 있을 수 있는 위치의 개수가 무한대일 경우에는 -1을 출력한다. www.acmicpc.net 문제이해 조규현과 백승환은 터렛에 근무하는 직원이다. 하지만 워낙 존재감이 없어서 인구수는 차지하지 않는다. 다음은 조규현과 백승환의 사진이다. 이석원은 조규현과 백승환에게 상대편 마린(류재명)의 위치를 계산하라는 명령을 내렸다. 조규현과 백승환은 각각 자신의 터렛 위치에서 현재 적까지의 거리를 계산했다. 조규현의 좌표 (x1, y1)와 백승환의 좌표 (x2, y2)가 주어지고, 조규현이 계산한 류재명과의 거리 r1과 백승환이 계산한 류재명과의 거리 r2가 주어졌을 때, 류재명이 있을 수 있는 좌표의 수를 출..

Algorithm/문제

[알고리즘] 백준 1021 : 회전하는 큐 - JAVA

문제 1021번: 회전하는 큐 지민이는 N개의 원소를 포함하고 있는 양방향 순환 큐를 가지고 있다. 지민이는 이 큐에서 몇 개의 원소를 뽑아내려고 한다. 지민이는 이 큐에서 다음과 같은 3가지 연산을 수행할 수 있다. 첫 번째 원소를 뽑아낸다. 이 연산을 수행하면, 원래 큐의 원소가 a1, ..., ak이었던 것이 a2, ..., ak와 같이 된다. 왼쪽으로 한 칸 이동시킨다. 이 연산을 수행하면, a1, ..., ak가 a2, ..., ak, a1이 된다. 오른쪽으로 한 칸 이동시킨다. 이 연산을 수행하면, a1, ..., ak가 ak, a1, ..., ak-1이 된다. 큐에 처음에 포함되어 있던 수 N이 주어진다. 그리고 지민이가 뽑아내려고 하는 원소의 위치가 주어진다. (이 위치는 가장 처음 큐에서..

Algorithm/문제

[알고리즘] 백준 1004 : 어린 왕자 - JAVA

문제 1004번: 어린 왕자 입력의 첫 줄에는 테스트 케이스의 개수 T가 주어진다. 그 다음 줄부터 각각의 테스트케이스에 대해 첫째 줄에 출발점 (x1, y1)과 도착점 (x2, y2)이 주어진다. 두 번째 줄에는 행성계의 개수 n이 주 www.acmicpc.net 문제이해 출발지의 좌표와 도착지의 좌표가 주어지며 n개의 행성의 좌표와 원의 반지름이 주어진다. 출발지에서 도착지까지 이동할 때 행성에 진입하고 이탈하게 되는데 최소한의 진입과 이탈을 하게 되는 경우의 수를 구해야 한다. 입력 입력의 첫 줄에는 테스트 케이스의 개수 T가 주어진다. 그 다음 줄부터 각각의 테스트케이스에 대해 첫째 줄에 출발점 (x1, y1)과 도착점 (x2, y2)이 주어진다. 두 번째 줄에는 행성계의 개수 n이 주어지며, 세..

Algorithm/문제

[알고리즘] 백준 1673 : 치킨 쿠폰 - JAVA

문제 1673번: 치킨 쿠폰 강민이는 치킨 한 마리를 주문할 수 있는 치킨 쿠폰을 n장 가지고 있다. 이 치킨집에서는 치킨을 한 마리 주문할 때마다 도장을 하나씩 찍어 주는데, 도장을 k개 모으면 치킨 쿠폰 한 장으로 교환 www.acmicpc.net 문제이해 치킨을 한마리 주문할 수 있는 쿠폰이 n장이 있고, 치킨을 먹을때마다 도장을 찍어준다. 도장을 k개 모으면 다시 치킨 쿠폰 한 장을 얻을 수 있을 때 쿠폰을 이용하여 최대 몇 마리의 치킨을 먹을 수 있는지 구하는 문제이다 입력 여러 줄에 걸쳐서 자연수 n 과 k가 주어진다. n k 출력 각 입력마다 한 줄에 정답을 출력한다. 풀이 n개의 쿠폰에서 n개의 도장을 얻게되고 n/k 개의 쿠폰을 얻게 됩니다. 기존에 남은 도장 n%k개와 새로 얻게된 쿠폰..

Algorithm/문제

[알고리즘] 백준 1003 : 피보나치 함수 - JAVA

문제 1003번: 피보나치 함수 각 테스트 케이스마다 0이 출력되는 횟수와 1이 출력되는 횟수를 공백으로 구분해서 출력한다. www.acmicpc.net 문제이해 fibonacci(3)을 호출하면 다음과 같은 일이 일어난다. fibonacci(3)은 fibonacci(2)와 fibonacci(1) (첫 번째 호출)을 호출한다. fibonacci(2)는 fibonacci(1) (두 번째 호출)과 fibonacci(0)을 호출한다. 두 번째 호출한 fibonacci(1)은 1을 출력하고 1을 리턴한다. fibonacci(0)은 0을 출력하고, 0을 리턴한다. fibonacci(2)는 fibonacci(1)과 fibonacci(0)의 결과를 얻고, 1을 리턴한다. 첫 번째 호출한 fibonacci(1)은 1을..

Algorithm/문제

[알고리즘] 백준 2606 : 바이러스 - JAVA

문제 2606번: 바이러스 첫째 줄에는 컴퓨터의 수가 주어진다. 컴퓨터의 수는 100 이하이고 각 컴퓨터에는 1번 부터 차례대로 번호가 매겨진다. 둘째 줄에는 네트워크 상에서 직접 연결되어 있는 컴퓨터 쌍의 수가 주어 www.acmicpc.net 문제이해 한 컴퓨터가 웜바이러스에 걸리리면 그 컴퓨터와 연결되어있는 네트워크 상의 모든 컴퓨터가 감염되게 된다. 컴퓨터와 네트워크는 그래프의 형식으로 주어질 때 웜바이스에 걸리게 되는 컴퓨터의 수 구하는 문제이다. 입력 첫째 줄에는 컴퓨터의 수가 주어진다. 컴퓨터의 수는 100 이하이고 각 컴퓨터에는 1번 부터 차례대로 번호가 매겨진다. 둘째 줄에는 네트워크 상에서 직접 연결되어 있는 컴퓨터 쌍의 수가 주어진다. 이어서 그 수만큼 한 줄에 한 쌍씩 네트워크 상에..

Algorithm/문제

[알고리즘] 백준 1541 : 잃어버린 괄호 - JAVA

문제 1541번: 잃어버린 괄호 첫째 줄에 식이 주어진다. 식은 ‘0’~‘9’, ‘+’, 그리고 ‘-’만으로 이루어져 있고, 가장 처음과 마지막 문자는 숫자이다. 그리고 연속해서 두 개 이상의 연산자가 나타나지 않고, 5자리보다 www.acmicpc.net 문제이해 양수에 + 와 -만 이용한 식이 주어진다. 이 때 식에 괄호를 작성하여 식의 최솟값을 만드는 프로그램을 만들어야 한다 입력 첫째 줄에 식이 주어진다. 식은 ‘0’~‘9’, ‘+’, 그리고 ‘-’만으로 이루어져 있고, 가장 처음과 마지막 문자는 숫자이다. 그리고 연속해서 두 개 이상의 연산자가 나타나지 않고, 5자리보다 많이 연속되는 숫자는 없다. 수는 0으로 시작할 수 있다. 입력으로 주어지는 식의 길이는 50보다 작거나 같다 식 출력 첫째 ..

Algorithm/문제

[알고리즘] 백준 5585 : 거스름돈 - JAVA

문제 5585번: 거스름돈 타로는 자주 JOI잡화점에서 물건을 산다. JOI잡화점에는 잔돈으로 500엔, 100엔, 50엔, 10엔, 5엔, 1엔이 충분히 있고, 언제나 거스름돈 개수가 가장 적게 잔돈을 준다. 타로가 JOI잡화점에서 물건을 사 www.acmicpc.net 문제이해 잡화점에서 물건을 살 때 1000원을 내고 거스름돈을 받게 되는데 이때 받게되는 최소의 잔돈의 개수 구하기1. 잔돈은 500원, 100원, 50원, 10원, 5원, 1원 으로 구성된다 입력 입력은 한줄로 이루어져있고, 타로가 지불할 돈(1 이상 1000미만의 정수) 1개가 쓰여져있다. 물건가격 출력 제출할 출력 파일은 1행으로만 되어 있다. 잔돈에 포함된 매수를 출력하시오. 풀이 받을 수 있는 잔돈의 가장 큰 금액인 500원 ..

Algorithm/문제

[알고리즘] 백준 1931 : 회의실 배정 - JAVA

문제 1931번: 회의실 배정 (1,4), (5,7), (8,11), (12,14) 를 이용할 수 있다. www.acmicpc.net 문제이해 한 개의 회의실을 두고 N개의 회의에 대한 회의 시작 시간과 종료시간이 주어진다 이 때 회의실을 사용할 수 있는 회의의 최대 개수를 구하는 문제 1. 회의는 끝나는 것과 동시에 다음 회의가 시작될 수 있다 2. 회의의 시작시간과 종료시간이 같으면 시작하자마자 끝나는 것 ex) 1 3, 3 3, 3 4이면 답은 3 입력 첫째 줄에 회의의 수 N(1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N+1 줄까지 각 회의의 정보가 주어지는데 이것은 공백을 사이에 두고 회의의 시작시간과 끝나는 시간이 주어진다. 시작 시간과 끝나는 시간은 231-1보다 작거나 같은 자..

Algorithm/문제

[알고리즘] 백준 1010 : 다리놓기 - JAVA

문제 1010번: 다리 놓기 입력의 첫 줄에는 테스트 케이스의 개수 T가 주어진다. 그 다음 줄부터 각각의 테스트케이스에 대해 강의 서쪽과 동쪽에 있는 사이트의 개수 정수 N, M (0 < N ≤ M < 30)이 주어진다. www.acmicpc.net 문제이해 강 주변에서 다리를 짓기에 적합한 곳을 사이트라고 하고 서쪽에는 N개 동쪽에는 M개의 사이트가 있다(n

Hover_
Hover's Blog