목록BOJ (339)
어흥
문제 링크: https://www.acmicpc.net/problem/15989 15989번: 1, 2, 3 더하기 4 정수 4를 1, 2, 3의 합으로 나타내는 방법은 총 4가지가 있다. 합을 나타낼 때는 수를 1개 이상 사용해야 한다. 합을 이루고 있는 수의 순서만 다른 것은 같은 것으로 친다. 1+1+1+1 2+1+1 (1+1+2, 1+2+1) 2+2 1+3 (3+1) 정수 n이 주어졌을 때, n을 1, 2, 3의 합으로 나타내는 방법의 수를 구하는 프로그램을 작성하시오. www.acmicpc.net 1. 주의할 점 - DP로 풀 경우 끝에 어떤 숫자가 왔는지 기억해야 한다. 여기서는 1,2,3 총 3개의 숫자를 사용하므로 결과적으로 10000 X3짜리 배열을 사용하면 된다. - DP를 사용하지 않..
문제 링크: https://www.acmicpc.net/problem/1072 1072번: 게임 각 줄에 X와 Y가 주어진다. X는 1,000,000,000보다 작거나 같은 자연수이고, Y는 0보다 크거나 같고, X보다 작거나 같은 자연수이다. www.acmicpc.net 1. 주의할 점 - 2가지 방식으로 풀었는데, 이 중에서 이분탐색을 사용할 경우 High에 충분히 큰값을 할당해야한다. - 소수점은 버린다고 했으므로 Double을 사용하지 않고 Long Long을 사용해 소수점 이하는 자동으로 버리도록 한다. 2. 구현 - 첫 번째 방법: 이분탐색 Low: 0, High: 2,000,000,000 으로 할당해준다. High의 경우 충분히 큰 값을 할당해야 하는데 얼만큼 큰 값을 할당해야 할지 확실하지..
문제 링크: https://www.acmicpc.net/problem/12786 12786번: INHA SUIT 평소 Iron man을 좋아하던 규환이는 Iron man Suit에 영감을 받아 Inha Suit를 만들게 되었다. 규환이는 Suit를 입고 모든 나무의 높이가 20m인 숲을 지나서 인하대로 놀러가려고 한다. 하지만 Inha Suit는 Iron man Suit와 다르게 위아래로만 움직일 수 있다는 큰 결점을 갖고 있었고 그마저도 최대 20m까지 올라갈 수 있었다. 이동 기능은 가만히 있는 O기능, 위로 1m 이동하는 A기능, 현재 높이만큼 위로 이동하는 www.acmicpc.net 1. 주의할 점 - 구멍이 있는 나무의 기준으로 왼쪽을 살펴보도록 한다 - 우선순위큐를 사용할 경우 추가적인 조건..
문제 링크: https://www.acmicpc.net/problem/14499 14499번: 주사위 굴리기 첫째 줄에 지도의 세로 크기 N, 가로 크기 M (1 ≤ N, M ≤ 20), 주사위를 놓은 곳의 좌표 x y(0 ≤ x ≤ N-1, 0 ≤ y ≤ M-1), 그리고 명령의 개수 K (1 ≤ K ≤ 1,000)가 주어진다. 둘째 줄부터 N개의 줄에 지도에 쓰여 있는 수가 북쪽부터 남쪽으로, 각 줄은 서쪽부터 동쪽 순서대로 주어진다. 주사위를 놓은 칸에 쓰여 있는 수는 항상 0이다. 지도의 각 칸에 쓰여 있는 수는 10을 넘지 않는 자연수 또는 0이다. 마 www.acmicpc.net 1. 주의할 점 - 주사위의 전개도를 기준으로 해당 면이 배열 Dice의 몇번째 index와 짝을 이루는지 정한다...
문제 링크: https://www.acmicpc.net/problem/3020 3020번: 개똥벌레 문제 개똥벌레 한 마리가 장애물(석순과 종유석)로 가득찬 동굴에 들어갔다. 동굴의 길이는 N미터이고, 높이는 H미터이다. (N은 짝수) 첫 번째 장애물은 항상 석순이고, 그 다음에는 종유석과 석순이 번갈아가면서 등장한다. 아래 그림은 길이가 14미터이고 높이가 5미터인 동굴이다. (예제 그림) 이 개똥벌레는 장애물을 피하지 않는다. 자신이 지나갈 구간을 정한 다음 일직선으로 지나가면서 만나는 모든 장애물을 파괴한다. 위의 그림에서 4번째 구간으로 개똥벌레 www.acmicpc.net 1. 주의할 점 - 높이의 최대가 50만이여서 높이만큼 크기의 2차배열을 생성하지 않고 1차 배열 2개로 해결하려고 한다 -..
문제 링크: https://www.acmicpc.net/problem/3079 3079번: 입국심사 문제 상근이와 친구들은 오스트레일리아로 여행을 떠났다. 상근이와 친구들은 총 M명이고, 지금 공항에서 한 줄로 서서 입국심사를 기다리고 있다. 입국심사대는 총 N개가 있다. 각 입국심사관이 심사를 하는데 걸리는 시간은 사람마다 모두 다르다. k번 심사대에 앉아있는 심사관이 한 명을 심사를 하는데 드는 시간은 Tk이다. 가장 처음에 모든 심사대는 비어있고, 심사를 할 준비를 모두 끝냈다. 상근이와 친구들은 비행기 하나를 전세내고 놀러갔기 때문에, 지금 심사 www.acmicpc.net 1. 주의할 점 - 이분탐색으로 접근하며 High의 값은 가장 오래걸리는 심사대 X 사람수로 설정한다. - 결과값에 따라 어..
문제 링크: https://www.acmicpc.net/problem/1707 1707번: 이분 그래프 입력은 여러 개의 테스트 케이스로 구성되어 있는데, 첫째 줄에 테스트 케이스의 개수 K(2≤K≤5)가 주어진다. 각 테스트 케이스의 첫째 줄에는 그래프의 정점의 개수 V(1≤V≤20,000)와 간선의 개수 E(1≤E≤200,000)가 빈 칸을 사이에 두고 순서대로 주어진다. 각 정점에는 1부터 V까지 차례로 번호가 붙어 있다. 이어서 둘째 줄부터 E개의 줄에 걸쳐 간선에 대한 정보가 주어지는데, 각 줄에 인접한 두 정점의 번호가 빈 칸을 사이에 두고 주어 www.acmicpc.net 1. 주의할 점 - BFS,DFS 모두 가능한 문제지만, BFS로 접근하면 시간이 더 적게 소요된다. - 입력받은 정점과..
문제 링크: https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV15StKqAQkCFAYD SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 1. 주의할 점 - A 지점부터 B지점까지(A!=B)의 거리를 저장하는 2차배열을 생성할 필요가 없다(Long 타입으로 최대 1000*1000 생성시 메모리 손해) - List를 이용해서 구현한다 - 소숫점 첫째자리에서 올림하는 경우는 최종단계에서만 1번 진행한다. - 그래프 내에 간선의 수가 적다면 Kruskal이, 간선이 많다면 Prim이 적절한 알고리즘이다 2. 구현 [Kruska..