본문 바로가기

Algorithm/Implementation

(746)
(C++) - 백준(BOJ) 17945번 : 통학의 신 문제링크 : https://www.acmicpc.net/problem/17945 17945번: 통학의 신 x2 + 2Ax + B = 0 의 두 계수 A, B가 주어진다. A, B는 정수이며, 이 방정식의 근은 항상 정수이다. (-1000 ≤ A, B ≤ 1000) www.acmicpc.net 간단한 구현문제였습니다. 풀이방법 : 근의 공식 중에 짝수공식을 사용하여 풀었습니다. $$ ( a^2 ) $$ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 #include #include using namespace std; int main() { ios_base::sync_with_stdio(0); cin.tie(0); double a, b; cin >> a >> b; //짝수공식 적용 doub..
(C++) - 백준(BOJ) 16561번 : 3의 배수 문제링크 : https://www.acmicpc.net/problem/16561 16561번: 3의 배수 윤영이는 3의 배수 마니아이다. 그는 모든 자연수를 3개의 3의 배수의 자연수로 분해하는 것을 취미로 가지고 있다. 문득 그는 자신에게 주어진 수를 3개의 3의 배수로 분리하는 경우의 수가 몇 개인지 궁금해졌다. 하지만 윤영이는 마지막 학기이기 때문에 이런 계산을 하기에는 너무 게을러졌다. 그래서 당신에게 이 계산을 부탁했다. 즉, 임의의 3의 배수 자연수 n이 주어졌을 때, 해당 수를 3의 배수의 자연수 3개로 분리하는 방법의 개수를 출력해라. 단 분해 www.acmicpc.net 완전탐색 문제였습니다. 시간제한이 0.1초기 때문에 100만번 연산을 초과하면 시간초과가 납니다. 3개의 수를 결정하는..
(C++) - 백준(BOJ) 1018번 : 체스판 다시 칠하기 https://www.acmicpc.net/problem/1018 1018번: 체스판 다시 칠하기 첫째 줄에 N과 M이 주어진다. N과 M은 8보다 크거나 같고, 50보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에는 보드의 각 행의 상태가 주어진다. B는 검은색이며, W는 흰색이다. www.acmicpc.net 구현 문제였습니다. 8X8의 체스판으로 자르고 위 두 가지 경우 중 칠할 칸의 최소 개수를 반환하는 함수를 만들어 해결했습니다. 자른 이후에는 다음 2가지 경우를 비교해야 합니다. 1.WBWB...로 칠할 경우 2.BWBW...로 칠하는 경우 이들중 최소의 개수를 출력하면 됩니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 2..
(C++) - 백준(BOJ) 16727번 : ICPC https://www.acmicpc.net/problem/16727 16727번: ICPC The first line of the input contains two space-separated integers p1 and s1, where p1 and s1 are the number of goals scored by Persepolis and Esteghlal, respectively, in the first match in which Persepolis is the home team. The second line contains two spa www.acmicpc.net 단순 구현 문제였습니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 #in..
(C++) - 백준(BOJ) 2578번 : 빙고 https://www.acmicpc.net/problem/2578 2578번: 빙고 첫째 줄부터 다섯째 줄까지 빙고판에 쓰여진 수가 가장 위 가로줄부터 차례대로 한 줄에 다섯 개씩 빈 칸을 사이에 두고 주어진다. 여섯째 줄부터 열째 줄까지 사회자가 부르는 수가 차례대로 한 줄에 다섯 개씩 빈 칸을 사이에 두고 주어진다. 빙고판에 쓰여진 수와 사회자가 부르는 수는 각각 1부터 25까지의 수가 한 번씩 사용된다. www.acmicpc.net 구현문제였습니다. 풀이방법 대각선으로 빙고가 되는 경우를 잘 구현해야하는 문제였습니다. (3,3)일 때는 오른쪽 아래로 향하는 대각선과 오른쪽 위로 향하는 대각선을 둘 다 봐줘야 합니다. 가로 세로 대각선을 체크하는 함수를 각각 구현하여 이들의 합이 3이상이 되었을 때 ..
(C++) - 백준(BOJ) 11931번 : 수 정렬하기 4 https://www.acmicpc.net/problem/11931 11931번: 수 정렬하기 4 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 숫자가 주어진다. 이 수는 절댓값이 1,000,000보다 작거나 같은 정수이다. 수는 중복되지 않는다. www.acmicpc.net 간단한 정렬 구현 문제였습니다. 12345678910111213141516#include #include using namespace std;int a[1000000];int main() { ios_base::sync_with_stdio(0); cin.tie(0); int n; cin >> n; for (int i = 0; i > a[i]; //greater 내림차순 함수 sort..
(C++) - 백준(BOJ) 11004번 : K번째 수 https://www.acmicpc.net/problem/11004 11004번: K번째 수 수 N개 A1, A2, ..., AN이 주어진다. A를 오름차순 정렬했을 때, 앞에서부터 K번째 있는 수를 구하는 프로그램을 작성하시오. www.acmicpc.net 단순 정렬 문제 였습니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 #include #include using namespace std; int a[5000001]; int main() { ios_base::sync_with_stdio(0); cin.tie(0); int n,k; cin >> n >> k; for (int i = 0; i > a[i]; sort(a, a + n); cout
(C++) - 백준(BOJ) 16199번 : 나이 계산하기 https://www.acmicpc.net/problem/16199 16199번: 나이 계산하기 첫째 줄에 어떤 사람이 태어난 연도, 월, 일이 주어진다. 생년월일은 공백으로 구분되어져 있고, 항상 올바른 날짜만 주어진다. 둘째 줄에 기준 날짜가 주어진다. 기준 날짜도 공백으로 구분되어져 있으며, 올바른 날짜만 주어진다. 입력으로 주어지는 생년월일은 기준 날짜와 같거나 그 이전이다. 입력으로 주어지는 연도는 1900년보다 크거나 같고, 2100년보다 작거나 같다. www.acmicpc.net 단순 구현 문제였습니다 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 #include us..