본문 바로가기

백준7

C++ 백준 BOJ 1620 나는야 포켓몬 마스터 이다솜 포켓몬 이름을 입력받아 입력 순서대로 번호를 부여하고 도감을 만듭니다. 해당하는 포켓몬의 이름을 입력하면 번호를, 번호를 입력하면 이름을 출력하는 문제입니다. 1620번: 나는야 포켓몬 마스터 이다솜 첫째 줄에는 도감에 수록되어 있는 포켓몬의 개수 N이랑 내가 맞춰야 하는 문제의 개수 M이 주어져. N과 M은 1보다 크거나 같고, 100,000보다 작거나 같은 자연수인데, 자연수가 뭔지는 알지? 모르면 www.acmicpc.net #include #include #include using namespace std; int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); int N, M; string p; string name[100001]; unor.. 2022. 12. 27.
C++ 백준 BOJ 11726 2 x n 타일링 2×n 크기의 직사각형을 1×2, 2×1 타일로 채우는 방법의 수를 구하는 프로그램을 작성하는 문제입니다. 자주 접할 수 있는 DP문제(다이나믹 프로그래밍) 유형입니다. 보통 DP문제는 피보나치 수열, 재귀함수 등을 이용하여 해결 가능합니다. 11726번: 2×n 타일링 2×n 크기의 직사각형을 1×2, 2×1 타일로 채우는 방법의 수를 구하는 프로그램을 작성하시오. 아래 그림은 2×5 크기의 직사각형을 채운 한 가지 방법의 예이다. www.acmicpc.net #include using namespace std; int dp[1001]; int main() { ios::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); int num; cin >> num;.. 2022. 12. 19.
C++ 백준 BOJ 1212 8진수 2진수 8진수가 주어졌을 때, 2진수로 변환하는 프로그램을 작성하는 문제입니다. (난이도는 높지 않지만 출력값의 맨 앞이 0이 되는 경우, 시간초과 예외로 맨탈이..) 1212번: 8진수 2진수 첫째 줄에 8진수가 주어진다. 주어지는 수의 길이는 333,334을 넘지 않는다. www.acmicpc.net #include #include using namespace std; int main(){ string octal_str, binary_str = ""; cin >> octal_str; for(int i = 0; i < octal_str.size(); i++){ switch (octal_str[i]){ case '0': if(i == 0){ binary_str += "0"; break; } else{ binar.. 2022. 11. 15.
C++ 백준 BOJ 10870 피보나치 수 5 n이 주어졌을 때, n번째 피보나치 수를 구하는 프로그램을 작성하는 문제입니다. 10870번: 피보나치 수 5 피보나치 수는 0과 1로 시작한다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1이다. 그 다음 2번째 부터는 바로 앞 두 피보나치 수의 합이 된다. 이를 식으로 써보면 Fn = Fn-1 + Fn-2 (n ≥ 2)가 www.acmicpc.net #include using namespace std; int fibo(int num) { int result = num; if (result == 0) { return 0; } else if (result == 1) { return 1; } else { return fibo(result - 1) + fibo(result - 2); } } int .. 2022. 7. 27.
[기초] 자료구조 / 큐(queue)와 덱(deque), 문자열 큐(queue) 한쪽 끝에서만 자료를 넣고 다른 한쪽 끝에서만 뺄 수 있는 자료구조 먼저 넣은 것이 가장 먼저 나오기 때문에 First In First Out (FIFO) 라고도 합니다. - push : 큐에 자료를 넣는 연산 - pop : 큐에서 자료를 빼는 연산 - front : 큐의 가장 앞에 있는 자료를 보는 연산 - back : 큐의 가장 뒤에 있는 자료를 보는 연산 - empty : 큐가 비어있는지 아닌지를 알아보는 연산 - size : 큐에 저장되어있는 자료의 개수를 알아보는 연산 그림에서 빨간색 1번이 front로 가장 앞에 있는 자료이고 빨간색 3번이 back으로 가장 뒤에 있는 자료입니다. 큐도 스택과 같이 이미 구현된 라이브러리를 사용할 수있습니다. C++의 경우 STL의 queue .. 2022. 7. 26.
C++ 백준 BOJ 9012 괄호 입력받은 문자열이 바르게 구성된 괄호 문자열(VPS)인지 판단하는 문제입니다. 9012번: 괄호 괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 ‘(’ 와 ‘)’ 만으로 구성되어 있는 문자열이다. 그 중에서 괄호의 모양이 바르게 구성된 문자열을 올바른 괄호 문자열(Valid PS, VPS)이라고 www.acmicpc.net #include #include using namespace std; void checkVPS(string p){ stack checkP; for(int i = 0; i < p.size(); i++){ if(p[i]=='('){ checkP.push('('); } else{ if(checkP.empty()){ checkP.push(')'); } else .. 2022. 7. 25.
C++ 백준 BOJ 2960 에라토스테네스의 체 에라토스테네스의 체는 소수를 찾는 유명한 알고리즘입니다. 에라토스테네스의 체 에라토스테네스의 체 - 위키백과, 우리 모두의 백과사전 ko.wikipedia.org 아주 큰 범위에서 소수를 판별하는 문제는 코딩테스트에서도 자주 나오는 문제인데 이때 사용하는 알고리즘입니다. 1929번 소수 구하기 문제를 풀기 전 먼저 알아야 합니다. 2960번: 에라토스테네스의 체 2, 4, 6, 8, 10, 3, 9, 5, 7 순서대로 지워진다. 7번째 지워진 수는 9이다. www.acmicpc.net #include using namespace std; bool arr[1001]; int main() { int N, K, val = 0, count = 0; //count 는 k번째 수를 판별 for (int i = 0;.. 2022. 4. 30.