목록전체 글 (248)
피너클의 it공부방
https://www.acmicpc.net/problem/2447 2447번: 별 찍기 - 10 재귀적인 패턴으로 별을 찍어 보자. N이 3의 거듭제곱(3, 9, 27, ...)이라고 할 때, 크기 N의 패턴은 N×N 정사각형 모양이다. 크기 3의 패턴은 가운데에 공백이 있고, 가운데를 제외한 모든 칸에 별이 www.acmicpc.net 구현문제다. int n; char stars[10001][10001]; char first[3][3] = {{'*', '*', '*'}, {'*', ' ', '*'}, {'*', '*', '*'}}; 전체 별을 담을 stars와 초기 별의 모음인 first를 준비해준다. memset(stars, ' ', sizeof(stars)); for(int i = 0; i < 3;..
https://www.acmicpc.net/problem/25305 25305번: 커트라인 시험 응시자들 가운데 1등은 100점, 2등은 98점, 3등은 93점이다. 2등까지 상을 받으므로 커트라인은 98점이다. www.acmicpc.net 간단한 구현문제다. #include #include using namespace std; int n, k; int arr[1001]; int main() { cin >> n >> k; for(int i = 0; i > arr[i]; sort(arr, arr + n); cout
https://www.acmicpc.net/problem/1004 1004번: 어린 왕자 입력의 첫 줄에는 테스트 케이스의 개수 T가 주어진다. 그 다음 줄부터 각각의 테스트케이스에 대해 첫째 줄에 출발점 (x1, y1)과 도착점 (x2, y2)이 주어진다. 두 번째 줄에는 행성계의 개수 n이 주 www.acmicpc.net 기하학 문제다. 출발점과 도착점이 각각 원 안에 있는지를 확인하면 된다. double dist(double x_1, double y_1, double x_2, double y_2) { return sqrt(pow(x_1 - x_2, 2) + pow(y_1 - y_2, 2)); } dist함수는 좌표를 전달했을때 각 점 간의 거리를 반환한다. int test; cin >> test; ..
https://www.acmicpc.net/problem/1002 1002번: 터렛 각 테스트 케이스마다 류재명이 있을 수 있는 위치의 수를 출력한다. 만약 류재명이 있을 수 있는 위치의 개수가 무한대일 경우에는 -1을 출력한다. www.acmicpc.net 기하학문제다. 터렛의 좌표와 거리가 주어졌을때 류재명이 있을수 있는 위치의 개수를 출력해야한다. 이때 크게 3가지 경우가 있다. 1. 두 터렛이 만나지 않는 경우 2. 두 터렛이 한번만 만나는 경우 3. 두 터렛이 두번 만나는 경우 int test; cin >> test; while (test-- > 0) { cin >> x_1 >> y_1 >> r_1 >> x_2 >> y_2 >> r_2; double dist = sqrt(pow(x_1 - x_2..
https://www.acmicpc.net/problem/2083 2083번: 럭비 클럽 입력 받은 각 회원에 대해 이름과 분류를 출력한다. 성인부 회원이면 'Senior', 청소년부 회원이면 'Junior'를 출력한다. www.acmicpc.net 간단한 구현문제다. #include #include #include using namespace std; string name; int age, weight; int main() { ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); while (true) { cin >> name >> age >> weight; if (name == "#" && age == 0 && weight == 0) break; if (age > ..
https://www.acmicpc.net/problem/25421 25421번: 조건에 맞는 정수의 개수 2개의 자릿수를 갖고 첫 번째 자리의 숫자와 두 번째 자리의 숫자의 차이가 2보다 작거나 같은 양의 정수 11, 12, 13, 21, 22, 23, 24, 31, 32, ... , 97, 98, 99가 A에 해당된다. 따라서 정답은 39이다. www.acmicpc.net 다이나믹 문제다. 탑다운으로 풀려고 했지만 함수 호출량이 너무 많은거 같아 바텀업으로 풀게됬다. int n; long long dp[10][100001]; long long MOD = 987654321; 사용할 변수다. cin >> n; memset(dp, 0, sizeof(dp)); long long ans = 0; for (in..
https://www.acmicpc.net/problem/1509 1509번: 팰린드롬 분할 세준이는 어떤 문자열을 팰린드롬으로 분할하려고 한다. 예를 들어, ABACABA를 팰린드롬으로 분할하면, {A, B, A, C, A, B, A}, {A, BACAB, A}, {ABA, C, ABA}, {ABACABA}등이 있다. 분할의 개수의 최솟값을 출력하 www.acmicpc.net 다이나믹 문제다. int n; string str; bool palindrome[2501][2501]; int cache[2501]; 사용할 변수다. palindrome[a][b]는 a부터 b까지의 string이 팰린드롬인지 아닌지를 알려준다. true면 팰린드롬이고 false면 팰린드롬이 아니다. cache는 dp에서 사용할것이..
https://www.acmicpc.net/problem/1325 > n >> m; for (int i = 0; i > a >> b; v[b].push_back(a); } vector ans; int big = 0; 값을 입력받을때 b에 a를 집어넣는다. ans에는 컴퓨터 번호가 들어갈것이다. big은 현재 한번에 가장 많이 해킹할수있는 숫자다. for (int i = 1; i > m; for (int i = 0; i > a >> b; v[b].push_back(a); } vector ans; int big = 0; for (int i = 1; i
https://www.acmicpc.net/problem/13118 13118번: 뉴턴과 사과 첫 번째 줄에 사람들의 위치를 나타내는 네 정수 p1, p2, p3, p4 (−109 ≤ p1 > p1 >> p2 >> p..