알고리즘
-
백준 1541_잃어버린 괄호알고리즘/백준 2020. 11. 1. 19:45
https://www.acmicpc.net/problem/1541 1541번: 잃어버린 괄호 첫째 줄에 식이 주어진다. 식은 ‘0’~‘9’, ‘+’, 그리고 ‘-’만으로 이루어져 있고, 가장 처음과 마지막 문자는 숫자이다. 그리고 연속해서 두 개 이상의 연산자가 나타나지 않고, 5자리보다 www.acmicpc.net '-' 가 나오면, 그 뒤는 모두 빼기가 가능하다. #include int main() { int set=0; char op; int sum, next; scanf("%d", &sum); while (1) { scanf("%c", &op); scanf("%d", &next); if (op == '-') set = 1; else if (op != '+') break; if (set==1) su..
-
백준 11650_좌표 정렬하기알고리즘/백준 2020. 11. 1. 19:23
https://www.acmicpc.net/problem/11650 11650번: 좌표 정렬하기 첫째 줄에 점의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에는 i번점의 위치 xi와 yi가 주어진다. (-100,000 ≤ xi, yi ≤ 100,000) 좌표는 항상 정수이고, 위치가 같은 두 점은 없다. www.acmicpc.net 좌표 정렬 하는 문제이다. #include int main() { int N; scanf("%d", &N); int arr[N][2]; int i,j; for(i=0; i
-
백준 3053_택시 기하학알고리즘/백준 2020. 11. 1. 18:34
https://www.acmicpc.net/problem/3053 3053번: 택시 기하학 첫째 줄에는 유클리드 기하학에서 반지름이 R인 원의 넓이를, 둘째 줄에는 택시 기하학에서 반지름이 R인 원의 넓이를 출력한다. 정답과의 오차는 0.0001까지 허용한다. www.acmicpc.net .. 택시 기하학에서 원은 마름모 형태가 된다. 원 : PI * R * R 마름모 : 2 * R * R #include #define PI 3.14159265358979 int main(){ float R; scanf("%f", &R); printf("%.6f\n", PI*R*R); printf("%.6f\n", 2.0*R*R); return 0; }
-
백준 11399_ATM알고리즘/백준 2020. 11. 1. 17:20
www.acmicpc.net/problem/11399 11399번: ATM 첫째 줄에 사람의 수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄에는 각 사람이 돈을 인출하는데 걸리는 시간 Pi가 주어진다. (1 ≤ Pi ≤ 1,000) www.acmicpc.net 최소값만 구해내면 되기 때문에, 배열을 오름차순으로 정렬한뒤 for(i=0; i key){ arr[j+1]=arr[j]; arr[j]=key; } else break; } } } int main() { int N; int arr[1001]; int i; scanf("%d", &N); for(i=0; i
-
백준 1011_Fly me to the Alpha Centauri알고리즘/백준 2020. 10. 17. 17:45
www.acmicpc.net/problem/1011 1011번: Fly me to the Alpha Centauri 우현이는 어린 시절, 지구 외의 다른 행성에서도 인류들이 살아갈 수 있는 미래가 오리라 믿었다. 그리고 그가 지구라는 세상에 발을 내려 놓은 지 23년이 지난 지금, 세계 최연소 ASNA 우주 비행�� www.acmicpc.net 1 2 2 3 3 4 4 5 5 6 6 으로 더해지면서 이동 횟수가 늘어나는 규칙으로 아래와 같이 짰는데, 시간초과가 나왔었다. #include long func(long r) { int i,j; int cnt; if(r
-
백준 2869_달팽이는 올라가고 싶다알고리즘/백준 2020. 10. 11. 14:29
https://www.acmicpc.net/problem/2869 2869번: 달팽이는 올라가고 싶다 첫째 줄에 세 정수 A, B, V가 공백으로 구분되어서 주어진다. (1 ≤ B < A ≤ V ≤ 1,000,000,000) www.acmicpc.net 낮에 꼭대기 까지 올라가는 경우를 제외해야하므로 V-A까지의 높이를 오른다고 생각하고 날짜를 하루 더해준다. 만약 (V-A)가 (A-B)로 나누어 떨어지지 않으면 2일을 더해준다. (1 or 2) + (V-A)/(A-B) #include int main() { long A,B,V; long day=1; scanf("%ld %ld %ld", &A, &B, &V); if((V-A)%(A-B)) day++; day+=(V-A)/(A-B); printf("%ld..
-
백준 2292_벌집알고리즘/백준 2020. 10. 11. 14:17
https://www.acmicpc.net/problem/2292 2292번: 벌집 위의 그림과 같이 육각형으로 이루어진 벌집이 있다. 그림에서 보는 바와 같이 중앙의 방 1부터 시작해서 이웃하는 방에 돌아가면서 1씩 증가하는 번호를 주소로 매길 수 있다. 숫자 N이 주어졌�� www.acmicpc.net 최소거리는 감싸진 횟수와 동일하다. 1 6 12 18 24 ... #include int main() { int N; int sum=1; int n=1; scanf("%d", &N); while(sum < N){ sum += 6*n++; } printf("%d\n", n); return 0; }
-
백준 2839_설탕 배달알고리즘/백준 2020. 10. 11. 14:09
https://www.acmicpc.net/problem/2839 2839번: 설탕 배달 상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그�� www.acmicpc.net 최대한 적은 봉지를 들고간다 -> 최대한 5kg봉지를 많이 들고간다. 따라서 5로 나누어 떨어지면, 몫이 답이된다. 만약 5로 바로 나누어 떨어지지 않으면 3kg봉지를 하나씩 늘려가면서 봉지를 세면 된다. 안나눠 떨어질경우 -1출력 #include int main() { int N, result=0; scanf("%d", &N); //3~5000 while(N%5!=0){ N-=3; result++; }..