본문 바로가기

Algorithm

(2139)
(C++) - 백준(BOJ) 11320 : 삼각 무늬 https://www.acmicpc.net/problem/11320 11320번: 삼각 무늬 - 1 무엇이든 덮어버리는 것을 좋아하는 구사과는 한 변의 길이가 A인 정삼각형을 한 변의 길이가 B인 정삼각형으로 완전히 덮어버리고자 한다. 두 개의 정수 A, B가 주어지고, B ≤ A 이고, A를 B로 www.acmicpc.net 구현 문제였습니다. 📕 풀이방법 📔 입력 및 초기화 테스트케이스 t, 큰 삼각형 한 변 a , 작은 삼각형 한 변 b를 선언 후 t에 입력받습니다.while loop를 t만큼 수행하며 a, b를 입력받습니다. 📔 풀이과정 한 변의 길이가 x인 삼각형을 길이가 1인 삼각형으로 덮기 위해 필요한 개수에는 다음과 같은 규칙이 있습니다. x 1짜리 개수 1 1 2 4 3 9 4 16 이를..
(C++) - 백준(BOJ) 10180 : Ship Selection https://www.acmicpc.net/problem/10180 10180번: Ship Selection Input begins with a line with one integer T (1 ≤ T ≤ 50) denoting the number of test cases. Each test case begins with a line with two space-separated integers N and D, where N (1 ≤ N ≤ 100) denotes the number of ships in the docking bay and D (1 www.acmicpc.net 구현 문제였습니다. 📕 풀이방법 📔 입력 및 초기화 testcase 수 t, 선박 수 n, 도착지까지의 거리 d, 선박속도 v, 선박..
(C++) - 백준(BOJ) 11034 : 캥거루 세마리2 https://www.acmicpc.net/problem/11034 11034번: 캥거루 세마리2 여러개의 테스트 케이스로 이루어져 있으며, 세 캥거루의 초기 위치 A, B, C가 주어진다. (0 < A < B < C < 100) www.acmicpc.net 수식을 찾아 답을 구하는 문제였습니다. 📕 풀이방법 📔 입력 및 초기화 세 캥거루의 좌표 a, b, c를 선언해 준 뒤 while loop를 수행하며 EOF때까지 입력받습니다. 📔 풀이과정 서로 다른 두 캥거루 사이로 나머지 캥거루 한 마리가 점프해야하므로 이 두 캥거루 사이의 거리가 더 긴 쪽으로 뛰는 것이 많이 움직일 수 있는 방법입니다. 따라서 다음공식이 성립합니다. max(b-a, c-b) - 1 📔 정답출력 정답을 출력합니다. 📕 Code ..
(C++) - 백준(BOJ) 11109 : 괴짜 교수 https://www.acmicpc.net/problem/11109 11109번: 괴짜 교수 첫째 줄에 입력으로 테스트케이스의 개수 T (T ≤ 1000)가 주어진다. 각각의 테스트케이스에 대해 정수 d, n, s, p가 한 칸의 공백을 사이로 주어진다. d (0 ≤ d ≤ 1000000)는 병렬 버전을 개발하는데 www.acmicpc.net 간단 구현 문제였습니다. 📕 풀이방법 📔 입력 및 초기화 테스트 케이스 수 t, 병렬 개발 시간 d, 프로그램 실행 횟수 n, 직렬 수행시간 s, 병렬 수행 시간 p를 선언 후 t동안 while loop를 수행하며 알맞게 입력받습니다. 📔 풀이과정 1. 병렬시 전체 수행시간은 d + n*p입니다. 2. 직렬의 경우 n*s입니다. 시간이 짧을 수록 유리하므로 조건에 ..
(C++) - 백준(BOJ) 10599 : 페르시아의 왕들 https://www.acmicpc.net/problem/10599 10599번: 페르시아의 왕들 테스트 케이스는 여러줄에 걸쳐 입력된다. 각 테스트 케이스는 4개의 정수 a, b, c, d (-5000 ≤ a ≤ b ≤ c ≤ d ≤ 2000)로 이뤄진다. [a, b]는 출생일의 범위, [c, d]는 사망일의 범위이다. a, b, c, d의 입력 www.acmicpc.net 구현 문제였습니다. 📕 풀이방법 📔 입력 및 초기화 while loop를 수행하며 출생일의 범위 a,b와 사망일의 범위 c,d를 선언 후 입력해줍니다. 📔 정답출력 최소는 c-b, 최대는 d-a의 수명을 가집니다. 이를 출력해줍니다. 📕 Code #include using namespace std; int a, b, c, d; in..
(C++) - 백준(BOJ) 9699 : RICE SACK https://www.acmicpc.net/problem/9699 9699번: RICE SACK For each test case, the output contains a line in the format Case #x: followed by a sequence of integers, where x is the case number (starting from 1) and an integer that indicates the weight of a rice sack that will go to Al-Ameen. www.acmicpc.net 간단한 구현문제였습니다. 📕 풀이방법 📔 입력 및 초기화 1. 테스트 케이스의 수 t, 정답을 출력할 변수 ans를 선언해준 뒤 t에 입력받습니다. 2. 매 케이스마다 5..
(C++) - 백준(BOJ) 9493 : 길면 기차, 기차는 빨라, 빠른 것은 비행기 https://www.acmicpc.net/problem/9493 9493번: 길면 기차, 기차는 빨라, 빠른 것은 비행기 한 줄에 테스트 케이스가 하나씩 주어진다. 각 테스트 케이스는 세 개의 정수 M(1 ≤ M ≤ 10,000), A 그리고 B(1 ≤ A < B ≤ 1000)로 이루어져 있다. 정수는 공백으로 구분되어 있다. 마지막 테스트 케이 www.acmicpc.net 구현 문제였습니다. 📕 풀이방법 📔 입력 및 초기화 거리 m(km), 기차의 속도 a(km/h), 비행기의 속도 b(km/h)를 입력 받습니다. 📔 풀이과정 시간 = 거리 / 속도입니다. 각 교통수단에 따른 시간을 구해 저장합니다. 초에 대해 반올림해야 하므로 해당 시간의 차이를 구하고 반올림해줍니다. 이 값은 적절히 정답 형식에 ..
(C++) - 백준(BOJ) 9299 : Math Tutoring https://www.acmicpc.net/problem/9299 9299번: Math Tutoring For each case, output the line “Case x:” where x is the case number, on a single line. The output polynomial is to be formatted in the same manner as the input: the first value being the highest polynomial, and the successive values being the coefficie www.acmicpc.net 구현 문제였습니다. 📕 풀이방법 📔 입력 및 초기화 test case 수 t, 가장 큰 지수를 저장할 highestPoly, 한..