[백준 / BOJ] 1010번 다리 놓기 (C++, Python)
◎ 자료구조와 알고리즘/백준(BOJ) 문제풀이2022. 6. 12. 17:42[백준 / BOJ] 1010번 다리 놓기 (C++, Python)

링크 : https://www.acmicpc.net/problem/1010 1010번: 다리 놓기 입력의 첫 줄에는 테스트 케이스의 개수 T가 주어진다. 그 다음 줄부터 각각의 테스트케이스에 대해 강의 서쪽과 동쪽에 있는 사이트의 개수 정수 N, M (0 M - N; --i) { res = res * i; res = res / tmp++; } C++ 코드 전문 HTML 삽입 미리보기할 수 없는 소스 Python..

[백준 / BOJ] 11051번 이항 계수 2 (C++, Python)
◎ 자료구조와 알고리즘/백준(BOJ) 문제풀이2022. 6. 10. 20:41[백준 / BOJ] 11051번 이항 계수 2 (C++, Python)

링크 : https://www.acmicpc.net/problem/11051 11051번: 이항 계수 2 첫째 줄에 \(N\)과 \(K\)가 주어진다. (1 ≤ \(N\) ≤ 1,000, 0 ≤ \(K\) ≤ \(N\)) www.acmicpc.net 문제 문제 풀이 그냥 풀면 N, K가 제한이 1000이므로 시간초과가 나는 문제이다. DP를 활용해야 하는 문제인데, 동적 계획법 파트에 있었으면 좋았을 것 같은 문제다. 이항 계수의 점화식은 아래 사진과 같다. 여기서 dp[1][1], dp[1][0]은 미리 1로 초기화해 주고 시작하면 된다. 파이썬은 바로 % 10007해도 괜찮다. 내장 함수의 힘인 것 같다. C++ 코드 전문 HTML 삽입 미리보기할 수 없는 소스 Python 코드 전문 HTML 삽입 ..

[백준 / BOJ] 11050번 이항 계수 1 (C++, Python)
◎ 자료구조와 알고리즘/백준(BOJ) 문제풀이2022. 6. 10. 20:23[백준 / BOJ] 11050번 이항 계수 1 (C++, Python)

링크 : https://www.acmicpc.net/problem/11050 11050번: 이항 계수 1 첫째 줄에 \(N\)과 \(K\)가 주어진다. (1 ≤ \(N\) ≤ 10, 0 ≤ \(K\) ≤ \(N\)) www.acmicpc.net 문제 문제 풀이 이항 계수는 팩토리얼로 풀어쓸 수 있고, 이는 아래와 같으므로 그대로 구현하면 된다. 파이썬은 math 함수를 사용했다. C++ 코드 전문 HTML 삽입 미리보기할 수 없는 소스 Python 코드 전문 HTML 삽입 미리보기할 수 없는 소스 소감

[백준 / BOJ] 3036번 링 (C++, Python)
◎ 자료구조와 알고리즘/백준(BOJ) 문제풀이2022. 6. 9. 16:55[백준 / BOJ] 3036번 링 (C++, Python)

링크 : https://www.acmicpc.net/problem/3036 3036번: 링 출력은 총 N-1줄을 해야 한다. 첫 번째 링을 제외한 각각의 링에 대해서, 첫 번째 링을 한 바퀴 돌리면 그 링은 몇 바퀴 도는지 기약 분수 형태 A/B로 출력한다. www.acmicpc.net 문제 문제 풀이 기약분수로 출력해야 해서 생각할 여지가 있는 문제다. 그래도 이때까지 gcd를 활용했으면 최소공배수로 숫자를 나눠서 출력하면 나오겠다는 생각이 바로 들 수 있을 것이다. 참고하면 좋을 강좌를 첨부한다. https://sectumsempra.tistory.com/77 [백준2609]-최대공약수와 최소공배수(C++)/유클리드 호제법 https://www.acmicpc.net/problem/2609 2609번:..

[백준 / BOJ] 2981번 검문 (C++, Python)
◎ 자료구조와 알고리즘/백준(BOJ) 문제풀이2022. 6. 9. 16:53[백준 / BOJ] 2981번 검문 (C++, Python)

링크 : https://www.acmicpc.net/problem/2981 2981번: 검문 트럭을 타고 이동하던 상근이는 경찰의 검문을 받게 되었다. 경찰은 상근이가 운반하던 화물을 하나하나 모두 확인할 것이기 때문에, 검문하는데 엄청나게 오랜 시간이 걸린다. 상근이는 시간 www.acmicpc.net 문제 문제 풀이 문제 그대로 구현하면 시간초과가 날 것 같고, 솔직히 어떻게 접근해야할지 몰라서 인터넷 검색을 통해 알게 된 문제다. 내 설명보다는 아래 첨부한 링크들을 참고하는것이 훨씬 도움이 될 것 같다. 나중에 제대로 공부하고 다시 풀이를 써야겠다. https://pangsblog.tistory.com/62 [백준 2981] - [수학 최대공약수] - 검문 (JAVA) 문제 링크 : https://..

[백준 / BOJ] 1934번 최소공배수 (C++, Python)
◎ 자료구조와 알고리즘/백준(BOJ) 문제풀이2022. 6. 7. 20:54[백준 / BOJ] 1934번 최소공배수 (C++, Python)

링크 : https://www.acmicpc.net/problem/1934 1934번: 최소공배수 두 자연수 A와 B에 대해서, A의 배수이면서 B의 배수인 자연수를 A와 B의 공배수라고 한다. 이런 공배수 중에서 가장 작은 수를 최소공배수라고 한다. 예를 들어, 6과 15의 공배수는 30, 60, 90등이 있 www.acmicpc.net 문제 문제 풀이 앞선 문제와 거의 같은 문제다. 같은 알고리즘인 유클리드 호제법을 사용하면 된다. 참고하면 좋을 강좌도 첨부한다. https://sectumsempra.tistory.com/77 [백준2609]-최대공약수와 최소공배수(C++)/유클리드 호제법 https://www.acmicpc.net/problem/2609 2609번: 최대공약수와 최소공배수 첫째 줄에..

[백준 / BOJ] 2609번 최대공약수와 최소공배수 (C++, Python)
◎ 자료구조와 알고리즘/백준(BOJ) 문제풀이2022. 6. 7. 20:47[백준 / BOJ] 2609번 최대공약수와 최소공배수 (C++, Python)

링크 : https://www.acmicpc.net/problem/2609 2609번: 최대공약수와 최소공배수 첫째 줄에는 입력으로 주어진 두 수의 최대공약수를, 둘째 줄에는 입력으로 주어진 두 수의 최소 공배수를 출력한다. www.acmicpc.net 문제 문제 풀이 나의 설명보다는 아래 링크를 참고하는것이 훨씬 좋을 것 같다. 유클리드 호제법을 활용하면 된다. https://sectumsempra.tistory.com/77 [백준2609]-최대공약수와 최소공배수(C++)/유클리드 호제법 https://www.acmicpc.net/problem/2609 2609번: 최대공약수와 최소공배수 첫째 줄에는 입력으로 주어진 두 수의 최대공약수를, 둘째 줄에는 입력으로 주어진 두 수의 최소 공배수를 출력한다. ..

[백준 / BOJ] 1037번 약수 (C++, Python)
◎ 자료구조와 알고리즘/백준(BOJ) 문제풀이2022. 6. 6. 02:37[백준 / BOJ] 1037번 약수 (C++, Python)

링크 : https://www.acmicpc.net/problem/1037 1037번: 약수 첫째 줄에 N의 진짜 약수의 개수가 주어진다. 이 개수는 50보다 작거나 같은 자연수이다. 둘째 줄에는 N의 진짜 약수가 주어진다. 1,000,000보다 작거나 같고, 2보다 크거나 같은 자연수이고, 중복되 www.acmicpc.net 문제 문제 풀이 잘 생각해보면 모든 약수가 주어지는데 본인과 1이 포함되어있지 않다 했으므로 가장 작은 값과 가장 큰 값을 곱하면 답이다. C++ 코드 전문 HTML 삽입 미리보기할 수 없는 소스 Python 코드 전문 HTML 삽입 미리보기할 수 없는 소스 소감

[백준 / BOJ] 5086번 배수와 약수 (C++, Python)
◎ 자료구조와 알고리즘/백준(BOJ) 문제풀이2022. 6. 6. 02:30[백준 / BOJ] 5086번 배수와 약수 (C++, Python)

링크 : https://www.acmicpc.net/problem/5086 5086번: 배수와 약수 각 테스트 케이스마다 첫 번째 숫자가 두 번째 숫자의 약수라면 factor를, 배수라면 multiple을, 둘 다 아니라면 neither를 출력한다. www.acmicpc.net 문제 문제 풀이 약수와 배수의 성질을 활용하면 쉽게 풀린다. C++ 코드 전문 HTML 삽입 미리보기할 수 없는 소스 Python 코드 전문 HTML 삽입 미리보기할 수 없는 소스 소감

[백준 / BOJ] 1358번 하키 (C++, Python)
◎ 자료구조와 알고리즘/백준(BOJ) 문제풀이2022. 6. 5. 12:00[백준 / BOJ] 1358번 하키 (C++, Python)

링크 : https://www.acmicpc.net/problem/1358 1358번: 하키 첫째 줄에 수 W H X Y P가 주어진다. P는 선수의 수이다. W와 H는 100보다 작거나 같은 자연수이고, H는 짝수이다. X와 Y는 절댓값이 100보다 작거나 같은 정수이다. P는 최대 50인 자연수이다. 둘째 줄부 www.acmicpc.net 문제 문제 풀이 뭔가 복잡해보이지만, 조건을 나눠서 풀면 쉽게 풀리는 문제다. 사각형에 있을 경우 왼쪽 반원에 있을 경우 오른쪽 반원에 있을 경우 위 조건들로 만들어주었다. C++ 상세 풀이 더보기 int calc_dist(int x, int y, int a, int b) { return ((x - a) * (x - a)) + ((b - y) * (b - y)); ..

[백준 / BOJ] 1004번 어린 왕자 (C++, Python)
◎ 자료구조와 알고리즘/백준(BOJ) 문제풀이2022. 6. 5. 01:45[백준 / BOJ] 1004번 어린 왕자 (C++, Python)

링크 : https://www.acmicpc.net/problem/1004 1004번: 어린 왕자 입력의 첫 줄에는 테스트 케이스의 개수 T가 주어진다. 그 다음 줄부터 각각의 테스트케이스에 대해 첫째 줄에 출발점 (x1, y1)과 도착점 (x2, y2)이 주어진다. 두 번째 줄에는 행성계의 개수 n이 주 www.acmicpc.net 문제 문제 풀이 터렛 문제와 유사한 아이디어를 가진다. 사진과 코드의 주석을 참고하면 된다. 1번의 경우에는 dist1 radius 이므로 경유해야 한다. 이는 dist1과 dist2가 바뀌어도 성립한다. 2번의 경우에는 dist1 < radius, dist2 < radius 이므로 경유 자체를 하지 않아도 된다. C++ 코드 전문 HTML ..

[백준 / BOJ] 1002번 터렛 (C++, Python)
◎ 자료구조와 알고리즘/백준(BOJ) 문제풀이2022. 6. 4. 12:42[백준 / BOJ] 1002번 터렛 (C++, Python)

링크 : https://www.acmicpc.net/problem/1002 1002번: 터렛 각 테스트 케이스마다 류재명이 있을 수 있는 위치의 수를 출력한다. 만약 류재명이 있을 수 있는 위치의 개수가 무한대일 경우에는 -1을 출력한다. www.acmicpc.net 문제 문제 풀이 문제를 딱 보자마자 접근 방법이 떠오른다면 쉬운 문제이고, 그렇지 않다면 어려운 문제일 것이다. 무려 정답률이 20%정도다. 두 원의 위치 관계를 활용해야한다. 대략 이 사진이 아직도 떠오른다면 쉽게 풀 수 있는 문제다. C++ 코드 전문 HTML 삽입 미리보기할 수 없는 소스 Python 코드 전문 HTML 삽입 미리보기할 수 없는 소스 소감

image