본문 바로가기

반응형

분류 전체보기

(297)
[문과 코린이의 IT 기록장] C++ 백준 문제풀이 - ROT13 (11655) [문과 코린이의 IT 기록장] C++ 백준 문제풀이 - ROT13 (11655) 11655번: ROT13 첫째 줄에 알파벳 대문자, 소문자, 공백, 숫자로만 이루어진 문자열 S가 주어진다. S의 길이는 100을 넘지 않는다. www.acmicpc.net [ 문제 ] ROT13은 카이사르 암호의 일종으로 영어 알파벳을 13글자씩 밀어서 만든다. 예를 들어, "Baekjoon Online Judge"를 ROT13으로 암호화하면 "Onrxwbba Bayvar Whqtr"가 된다. ROT13으로 암호화한 내용을 원래 내용으로 바꾸려면 암호화한 문자열을 다시 ROT13하면 된다. 앞에서 암호화한 문자열 "Onrxwbba Bayvar Whqtr"에 다시 ROT13을 적용하면 "Baekjoon Online Judge..
[문과 코린이의 IT 기록장] C++ 백준 문제풀이 - 단어 길이 재기 (2743) [문과 코린이의 IT 기록장] C++ 백준 문제풀이 - 단어 길이 재기 (2743) 2743번: 단어 길이 재기 알파벳으로만 이루어진 단어를 입력받아, 그 길이를 출력하는 프로그램을 작성하시오. www.acmicpc.net [ 문제 ] 알파벳으로만 이루어진 단어를 입력받아, 그 길이를 출력하는 프로그램을 작성하시오. [ 입력 ] 첫째 줄에 영어 소문자와 대문자로만 이루어진 단어가 주어진다. 단어의 길이는 최대 100이다. [ 출력 ] 첫째 줄에 입력으로 주어진 단어의 길이를 출력한다. [ 코드 1 ] #include #include using namespace std; int main() { string S; // 문자열 cin >> S; cout > S; int len = 0; for (int i = ..
[문과 코린이의 IT 기록장] C++ 백준 문제풀이 - 알파벳 찾기 (10809) [문과 코린이의 IT 기록장] C++ 백준 문제풀이 - 알파벳 찾기 (10809) 10809번: 알파벳 찾기 각각의 알파벳에 대해서, a가 처음 등장하는 위치, b가 처음 등장하는 위치, ... z가 처음 등장하는 위치를 공백으로 구분해서 출력한다. 만약, 어떤 알파벳이 단어에 포함되어 있지 않다면 -1을 출 www.acmicpc.net [ 문제 ] 알파벳 소문자로만 이루어진 단어 S가 주어진다. 각각의 알파벳에 대해서, 단어에 포함되어 있는 경우에는 처음 등장하는 위치를, 포함되어 있지 않은 경우에는 -1을 출력하는 프로그램을 작성하시오. [ 입력 ] 첫째 줄에 단어 S가 주어진다. 단어의 길이는 100을 넘지 않으며, 알파벳 소문자로만 이루어져 있다. [ 출력 ] 각각의 알파벳에 대해서, a가 처음 ..
[문과 코린이의 IT 기록장] C++ 백준 문제풀이 - 알파벳 개수 (10808) [문과 코린이의 IT 기록장] C++ 백준 문제풀이 - 알파벳 개수 (10808) 10808번: 알파벳 개수 단어에 포함되어 있는 a의 개수, b의 개수, …, z의 개수를 공백으로 구분해서 출력한다. www.acmicpc.net [ 문제 ] 알파벳 소문자로만 이루어진 단어 S가 주어진다. 각 알파벳이 단어에 몇 개가 포함되어 있는지 구하는 프로그램을 작성하시오. [ 입력 ] 첫째 줄에 단어 S가 주어진다. 단어의 길이는 100을 넘지 않으며, 알파벳 소문자로만 이루어져 있다. [ 출력 ] 단어에 포함되어 있는 a의 개수, b의 개수, …, z의 개수를 공백으로 구분해서 출력한다. [ 코드 1 ] #include #include using namespace std; int main() { string S..
[문과 코린이의 IT 기록장] C++ 백준 문제풀이 - 후위 표기식 (1918) [문과 코린이의 IT 기록장] C++ 백준 문제풀이 - 후위 표기식 (1918) 1918번: 후위 표기식 첫째 줄에 중위 표기식이 주어진다. 단 이 수식의 피연산자는 A~Z의 문자로 이루어지며 수식에서 한 번씩만 등장한다. 그리고 -A+B와 같이 -가 가장 앞에 오거나 AB와 같이 *가 생략되는 등의 수식 www.acmicpc.net [ 문제 ] 수식은 일반적으로 3가지 표기법으로 표현할 수 있다. 연산자가 피연산자 가운데 위치하는 중위 표기법(일반적으로 우리가 쓰는 방법이다), 연산자가 피연산자 앞에 위치하는 전위 표기법(prefix notation), 연산자가 피연산자 뒤에 위치하는 후위 표기법(postfix notation)이 그것이다. 예를 들어 중위 표기법으로 표현된 a+b는 전위 표기법으로는 ..
[문과 코린이의 IT 기록장] C++ 백준 문제풀이 - 후위 표기식2 (1935) [문과 코린이의 IT 기록장] C++ 백준 문제풀이[DP] - 후위 표기식2 (1935) 1935번: 후위 표기식2 첫째 줄에 피연산자의 개수(1 ≤ N ≤ 26) 가 주어진다. 그리고 둘째 줄에는 후위 표기식이 주어진다. (여기서 피연산자는 A~Z의 영대문자이며, A부터 순서대로 N개의 영대문자만이 사용되며, 길이 www.acmicpc.net [ 문제 ] 후위 표기식과 각 피연산자에 대응하는 값들이 주어져 있을 때, 그 식을 계산하는 프로그램을 작성하시오. [ 입력 ] 첫째 줄에 피연산자의 개수(1 ≤ N ≤ 26) 가 주어진다. 그리고 둘째 줄에는 후위 표기식이 주어진다. (여기서 피연산자는 A~Z의 영대문자이며, A부터 순서대로 N개의 영대문자만이 사용되며, 길이는 100을 넘지 않는다) 그리고 셋..
[문과 코린이의 IT 기록장] C++ 백준 문제풀이[DP] - 타일 채우기 (2133) [문과 코린이의 IT 기록장] C++ 백준 문제풀이[DP] - 타일 채우기 (2133) 2133번: 타일 채우기 3×N 크기의 벽을 2×1, 1×2 크기의 타일로 채우는 경우의 수를 구해보자. www.acmicpc.net [ 문제 ] 3×N 크기의 벽을 2×1, 1×2 크기의 타일로 채우는 경우의 수를 구해보자. [ 입력 ] 첫째 줄에 N(1 ≤ N ≤ 30)이 주어진다. [ 출력 ] 첫째 줄에 경우의 수를 출력한다. [ 코드 ] #include #include using namespace std; int dp[31]; // 3*N 크기의 벽을, 2*1 1*2 크기의 타일로 채우는 경우의 수 // 마지막에 나올 수 있는 경우의 수를 생각해보고, 1부터 하나씩 그려보기 int main() { int N; ..
[문과 코린이의 IT 기록장] C++ 백준 문제풀이[DP] - 연속합 2 (13398) [문과 코린이의 IT 기록장] C++ 백준 문제풀이[DP] - 연속합 2 (13398) 13398번: 연속합 2 첫째 줄에 정수 n(1 ≤ n ≤ 100,000)이 주어지고 둘째 줄에는 n개의 정수로 이루어진 수열이 주어진다. 수는 -1,000보다 크거나 같고, 1,000보다 작거나 같은 정수이다. www.acmicpc.net [ 문제 ] n개의 정수로 이루어진 임의의 수열이 주어진다. 우리는 이 중 연속된 몇 개의 수를 선택해서 구할 수 있는 합 중 가장 큰 합을 구하려고 한다. 단, 수는 한 개 이상 선택해야 한다. 또, 수열에서 수를 하나 제거할 수 있다. (제거하지 않아도 된다) 예를 들어서 10, -4, 3, 1, 5, 6, -35, 12, 21, -1 이라는 수열이 주어졌다고 하자. 여기서 수..

반응형