#INFO 난이도 : SIVLER3 문제출처 : https://www.acmicpc.net/problem/1748 1748번: 수 이어 쓰기 1 첫째 줄에 N(1 ≤ N ≤ 100,000,000)이 주어진다. www.acmicpc.net #SOLVE 무작정 for문을 돌리면 시간제한이 0.15초 이기에 시간초과가 발생한다. 그래서 자리수가 변경될 때 마다 자릿수를 늘리는 방식으로 풀이했다. #include using namespace std; int main(){ int inputNum = 0; int ans = 0; cin >> inputNum; int length = 1, boundary = 1; for (int i = 1 ; i
#INFO 난이도 : BRONZE2 문제 출처 : https://www.acmicpc.net/problem/2798 2798번: 블랙잭 첫째 줄에 카드의 개수 N(3 ≤ N ≤ 100)과 M(10 ≤ M ≤ 300,000)이 주어진다. 둘째 줄에는 카드에 쓰여 있는 수가 주어지며, 이 값은 100,000을 넘지 않는 양의 정수이다. 합이 M을 넘지 않는 카드 3장 www.acmicpc.net #SOLVE 브루트포스로 풀이했다. 삼중 for문을 돌려서 모든 경우의 수를 탐색했는데, 시간 복잡도는 총 O(N^3)으로 N의 최댓값이 50이기에 문제의 조건인 1초 내에 모두 탐색이 가능하다. #include #include using namespace std; int N; int M; int arr[100]; ..
#INFO 난이도 : SIVLER4 문제 출처 : https://www.acmicpc.net/problem/11656 11656번: 접미사 배열 첫째 줄에 문자열 S가 주어진다. S는 알파벳 소문자로만 이루어져 있고, 길이는 1,000보다 작거나 같다. www.acmicpc.net #SOVLE 문자열을 입력받고 문자열의 모든 접미사를 배열에 저장한 후 , 정렬해 주는 간단한 문자열 관련 문제이다. 문자열의 길이만큼 이중 for문을 돌려서 모든 접미사들을 접미사 배열 (dic 벡터) 에 저장한다. string str; cin >> str; vector dic; for (int i = 0; i < str.length(); ++i) { string tempStr; for (int j = i; j < str.l..
#INFO 난이도 : BRONZE3 문제 출처 : https://www.acmicpc.net/problem/10824 10824번: 네 수 첫째 줄에 네 자연수 A, B, C, D가 주어진다. (1 ≤ A, B, C, D ≤ 1,000,000) www.acmicpc.net #SOVLE 간단한 문자열 연결 문제이다. ab 문자열에 a 와 b 문자열을 연결한 값을 저장하고, cd 문자열에 c 와 d 문자열을 연결한 값을 저장한다. string a, b, c, d, ab, cd; cin >> a >> b >> c >> d; ab = a + b; cd = c + d; 다음으로 stoll (string to long long) 함수를 이용해 ab와 cd 문자열을 long long 타입으로 변경하여 ans 값에 저..
#INFO 난이도 : BRONZE1 알고리즘 유형 : 자료구조 문제 출처 : https://www.acmicpc.net/problem/11655 11655번: ROT13 첫째 줄에 알파벳 대문자, 소문자, 공백, 숫자로만 이루어진 문자열 S가 주어진다. S의 길이는 100을 넘지 않는다. www.acmicpc.net #SOLVE 아스키 코드를 이용하는 간단한 문자열 문제이다. a(97) ~ m(109) 사이의 문자는 13을 더해도 (ROT13 문자열로 만들어도) 아스키의 범위를 벗어나지 않으니 그대로 출력하고 , n(110) ~ z(122) 사이의 문자는 13을 더하면 알파벳 아스키 범위를 벗어나니 13을 빼준다. if (('a'