링크 : https://www.acmicpc.net/problem/11050 11050번: 이항 계수 1 첫째 줄에 \(N\)과 \(K\)가 주어진다. (1 ≤ \(N\) ≤ 10, 0 ≤ \(K\) ≤ \(N\)) www.acmicpc.net 문제 문제 풀이 이항 계수는 팩토리얼로 풀어쓸 수 있고, 이는 아래와 같으므로 그대로 구현하면 된다. 파이썬은 math 함수를 사용했다. C++ 코드 전문 HTML 삽입 미리보기할 수 없는 소스 Python 코드 전문 HTML 삽입 미리보기할 수 없는 소스 소감
링크 : 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번:..
링크 : https://www.acmicpc.net/problem/2981 2981번: 검문 트럭을 타고 이동하던 상근이는 경찰의 검문을 받게 되었다. 경찰은 상근이가 운반하던 화물을 하나하나 모두 확인할 것이기 때문에, 검문하는데 엄청나게 오랜 시간이 걸린다. 상근이는 시간 www.acmicpc.net 문제 문제 풀이 문제 그대로 구현하면 시간초과가 날 것 같고, 솔직히 어떻게 접근해야할지 몰라서 인터넷 검색을 통해 알게 된 문제다. 내 설명보다는 아래 첨부한 링크들을 참고하는것이 훨씬 도움이 될 것 같다. 나중에 제대로 공부하고 다시 풀이를 써야겠다. https://pangsblog.tistory.com/62 [백준 2981] - [수학 최대공약수] - 검문 (JAVA) 문제 링크 : https://..
링크 : 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번: 최대공약수와 최소공배수 첫째 줄에..
링크 : https://www.acmicpc.net/problem/2609 2609번: 최대공약수와 최소공배수 첫째 줄에는 입력으로 주어진 두 수의 최대공약수를, 둘째 줄에는 입력으로 주어진 두 수의 최소 공배수를 출력한다. www.acmicpc.net 문제 문제 풀이 나의 설명보다는 아래 링크를 참고하는것이 훨씬 좋을 것 같다. 유클리드 호제법을 활용하면 된다. https://sectumsempra.tistory.com/77 [백준2609]-최대공약수와 최소공배수(C++)/유클리드 호제법 https://www.acmicpc.net/problem/2609 2609번: 최대공약수와 최소공배수 첫째 줄에는 입력으로 주어진 두 수의 최대공약수를, 둘째 줄에는 입력으로 주어진 두 수의 최소 공배수를 출력한다. ..
링크 : https://www.acmicpc.net/problem/1037 1037번: 약수 첫째 줄에 N의 진짜 약수의 개수가 주어진다. 이 개수는 50보다 작거나 같은 자연수이다. 둘째 줄에는 N의 진짜 약수가 주어진다. 1,000,000보다 작거나 같고, 2보다 크거나 같은 자연수이고, 중복되 www.acmicpc.net 문제 문제 풀이 잘 생각해보면 모든 약수가 주어지는데 본인과 1이 포함되어있지 않다 했으므로 가장 작은 값과 가장 큰 값을 곱하면 답이다. C++ 코드 전문 HTML 삽입 미리보기할 수 없는 소스 Python 코드 전문 HTML 삽입 미리보기할 수 없는 소스 소감
링크 : https://www.acmicpc.net/problem/5086 5086번: 배수와 약수 각 테스트 케이스마다 첫 번째 숫자가 두 번째 숫자의 약수라면 factor를, 배수라면 multiple을, 둘 다 아니라면 neither를 출력한다. www.acmicpc.net 문제 문제 풀이 약수와 배수의 성질을 활용하면 쉽게 풀린다. C++ 코드 전문 HTML 삽입 미리보기할 수 없는 소스 Python 코드 전문 HTML 삽입 미리보기할 수 없는 소스 소감
링크 : 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)); ..
링크 : 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 ..
링크 : https://www.acmicpc.net/problem/1002 1002번: 터렛 각 테스트 케이스마다 류재명이 있을 수 있는 위치의 수를 출력한다. 만약 류재명이 있을 수 있는 위치의 개수가 무한대일 경우에는 -1을 출력한다. www.acmicpc.net 문제 문제 풀이 문제를 딱 보자마자 접근 방법이 떠오른다면 쉬운 문제이고, 그렇지 않다면 어려운 문제일 것이다. 무려 정답률이 20%정도다. 두 원의 위치 관계를 활용해야한다. 대략 이 사진이 아직도 떠오른다면 쉽게 풀 수 있는 문제다. C++ 코드 전문 HTML 삽입 미리보기할 수 없는 소스 Python 코드 전문 HTML 삽입 미리보기할 수 없는 소스 소감
링크 : https://www.acmicpc.net/problem/2477 2477번: 참외밭 첫 번째 줄에 1m2의 넓이에 자라는 참외의 개수를 나타내는 양의 정수 K (1 ≤ K ≤ 20)가 주어진다. 참외밭을 나타내는 육각형의 임의의 한 꼭짓점에서 출발하여 반시계방향으로 둘레를 돌면서 지 www.acmicpc.net 문제 문제 풀이 나는 좀 다르게 풀었는데, 정석적인 방법은 "육각형이므로 가로, 세로의 최댓값이 나온 시점에서 '가로의 index에서 +3, +4 index의 요소들이 작은 사각형의 가로, 세로'" 라고 한다. 그림을 그려보니 아~ 그렇네 싶지만 솔직히 어떻게 발견하나 싶다. 일단 알아만 두어야겠다. point라는 별개의 배열을 만들어서 동서남북이 1, 2, 3, 4로 주어진다 했으니 ..
링크 : https://www.acmicpc.net/problem/3009 3009번: 네 번째 점 세 점이 주어졌을 때, 축에 평행한 직사각형을 만들기 위해서 필요한 네 번째 점을 찾는 프로그램을 작성하시오. www.acmicpc.net 문제 문제 풀이 x좌표에서 하나만 나온 수, y좌표에서 하나만 나온 수를 출력하면 된다. C++ 코드 전문 HTML 삽입 미리보기할 수 없는 소스 Python 코드 전문 HTML 삽입 미리보기할 수 없는 소스 소감