Uknow's Lab.
article thumbnail
[백준 10809번] [C] 알파벳 찾기
코딩테스트/C | C++ 2023. 7. 10. 00:12

https://www.acmicpc.net/problem/10809 10809번: 알파벳 찾기 각각의 알파벳에 대해서, a가 처음 등장하는 위치, b가 처음 등장하는 위치, ... z가 처음 등장하는 위치를 공백으로 구분해서 출력한다. 만약, 어떤 알파벳이 단어에 포함되어 있지 않다면 -1을 출 www.acmicpc.net 난이도 : 브론즈 2 태그 : 구현, 문자열 설명 26개의 배열을 선언하고 -1로 초기화한뒤, A ~ Z, 각 문자가 처음으로 나오는 순간이 몇 번째인지 저장합니다. 첫 번째로 나오는 순간이므로, -1인지 확인 후 업데이트 하는게 주의점입니다. 소스코드 #include #include int main() { char str[100]; scanf("%s", str); int result..

article thumbnail
[백준 10818번] [C언어] 최소, 최대
코딩테스트/C | C++ 2023. 5. 26. 00:21

https://www.acmicpc.net/problem/10818 10818번: 최소, 최대 첫째 줄에 정수의 개수 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 N개의 정수를 공백으로 구분해서 주어진다. 모든 정수는 -1,000,000보다 크거나 같고, 1,000,000보다 작거나 같은 정수이다. www.acmicpc.net 난이도 : 브론즈 3 태그 : 수학, 구현 설명 매 입력을 받을 때 마다 최대, 최솟값을 업데이트하는게 핵심입니다. 단, 입력 범위가 -1,000,000 ~ 1,000,000 까지 주어지므로, 최솟값의 초기값을 1,000,000으로, 최댓값의 초기값을 -1,000,000으로 지정하는게 포인트입니다. 각각의 경계값으로 설정하면 최소한 한 번은 갱신이 일어나기 때문..

article thumbnail
[백준 15727번] [C언어] 조별과제를 하려는데 조장이 사라졌다
코딩테스트/C | C++ 2023. 4. 26. 15:53

https://www.acmicpc.net/problem/15727 15727번: 조별과제를 하려는데 조장이 사라졌다 3학년 1학기를 재학 중인 성우는 ‘빨간눈 초파리의 뒷다리 털의 개수와 파인애플 껍질의 이해’라는 과목을 수강 중이다. 기말고사를 맞이하여 교수님은 수강생들에게 조별과제를 내주었고, www.acmicpc.net 난이도 : 브론즈 5 태그 : 수학, 사칙연산 설명 성우는 1분에 1~5만큼의 거리를 이동할 수 있습니다. 최대한 빨리 조장을 잡아야 하기 때문에 해당 문제에서는 조장과 거리를 좁힐 때 까지는 5만큼의 거리를 이동하면 되겠네요. 조장이 30만큼의 거리를 이동했을 때, 5만큼 6분동안 이동한다면 잡을 수 있습니다. 조장이 32만큼 거리를 이동했을 때, 5만큼 6분동안 이동한 뒤, 2..

article thumbnail
[백준 10950번] [C++] A + B - 3
코딩테스트/C | C++ 2023. 4. 17. 18:10

https://www.acmicpc.net/problem/10950 10950번: A+B - 3 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. www.acmicpc.net 난이도 : 브론즈 5 태그 : 수학, 구현, 사칙연산 설명 해당 문제는 한 번에 여러 테스트 케이스를 돌리는 문제입니다. n개의 케이스가 주어지면 n개의 연산을 수행하여야 합니다. 소스코드 #include using namespace std; int main() { int n; int i; cin >> n; int a, b; for (i = 0; i > a; cin >> b; cout

article thumbnail
[백준 2558번] [C++] A + B - 2
코딩테스트/C | C++ 2023. 4. 17. 18:07

https://www.acmicpc.net/problem/2558 2558번: A+B - 2 첫째 줄에 A, 둘째 줄에 B가 주어진다. (0 > a; cin >> b; cout

article thumbnail
[백준 1001번] [C++] A - B
코딩테스트/C | C++ 2023. 4. 17. 18:00

https://www.acmicpc.net/problem/1001 1001번: A-B 두 정수 A와 B를 입력받은 다음, A-B를 출력하는 프로그램을 작성하시오. www.acmicpc.net 난이도 : 브론즈 5 태그 : 구현, 사칙연산, 수학 설명 A B 시리즈 두 번째 문제인 A - B 입니다. 소스코드 #include using namespace std; int main() { int a, b; cin >> a; cin >> b; cout

article thumbnail
[백준 1000번] [C++] A + B
코딩테스트/C | C++ 2023. 4. 17. 17:57

https://www.acmicpc.net/problem/1000 1000번: A+B 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. www.acmicpc.net 난이도 : 브론즈 5 태그 : 수학, 구현, 사칙연산 설명 백준의 첫 번째 문제 (문제번호 1000) A + B 입니다. 소스코드 #include using namespace std; int main() { int a, b; cin >> a; cin >> b; cout

article thumbnail
[백준 2748번] [C언어] 피보나치 수 2
코딩테스트/C | C++ 2023. 2. 1. 00:45

https://www.acmicpc.net/problem/2748 2748번: 피보나치 수 2 피보나치 수는 0과 1로 시작한다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1이다. 그 다음 2번째 부터는 바로 앞 두 피보나치 수의 합이 된다. 이를 식으로 써보면 Fn = Fn-1 + Fn-2 (n ≥ 2)가 www.acmicpc.net 난이도 : 브론즈 1 태그 : 수학, 다이나믹 프로그래밍 설명 피보나치 수는 재귀를 배울 때, 예시로 많이 쓰이지만, 다이나믹 프로그래밍(동적 계획법)의 예제로도 많이 쓰이죠. 이 문제 같은 경우는 재귀로는 풀 수 없으며, 다이나믹 프로그래밍(이하 dp)을 사용해 풀 수 있습니다. DP는 동적 계획법으로 번역할 수 있는데, 간단히 말하자면, 이전의 구한 값을 저..

article thumbnail
[백준 2747번 ] [C언어] 피보나치 수
코딩테스트/C | C++ 2023. 1. 30. 21:45

https://www.acmicpc.net/problem/2747 2747번: 피보나치 수 피보나치 수는 0과 1로 시작한다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1이다. 그 다음 2번째 부터는 바로 앞 두 피보나치 수의 합이 된다. 이를 식으로 써보면 Fn = Fn-1 + Fn-2 (n ≥ 2)가 www.acmicpc.net 난이도 : 브론즈 2 태그 : 수학, 구현 설명 점화식을 배울 때 예시로 많이 쓰이는 피보나치 수 입니다. 이전 두 수의 합이 다음 수가 된다는 점에서, n1, n2의 합을 더한 수를 저장해놓고, n1에 n2를 저장하고, n1과 n2를 저장해논 값을 n2에 저장하는 방식으로 풀 수 있습니다. 소스코드 #define _CRT_SECURE_NO_WARNINGS #inc..

article thumbnail
[백준 16486번] [C언어] 운동장 한 바퀴
코딩테스트/C | C++ 2023. 1. 16. 00:19

https://www.acmicpc.net/problem/16486 16486번: 운동장 한 바퀴 첫째 줄에 d1의 값이 주어진다. 둘째 줄에는 d2의 값이 주어진다. (d1, d2의 값은 100,000 이하의 양의 정수) www.acmicpc.net 난이도 : 브론즈 4 태그 : 수학, 기하학 설명 사각형의 가로 길이와 반지름의 길이가 주어집니다. 그냥 단순히 사각형 가로 길이 * 2 + 원의 둘레 (지름 * pi) 를 하면 나오겠죠? 소스코드 #define _CRT_SECURE_NO_WARNINGS #include int main() { int d1, d2; double pi = 3.141592; scanf("%d", &d1); scanf("%d", &d2); printf("%f", d1 * 2 + ..