목록백준 (497)
알고리즘 모음(C++)
문제 링크입니다. https://www.acmicpc.net/problem/2902 2902번: KMP는 왜 KMP일까? 입력은 한 줄로 이루어져 있고, 최대 100글자의 영어 알파벳 대문자, 소문자, 그리고 하이픈 ('-', 아스키코드 45)로만 이루어져 있다. 첫 번째 글자는 항상 대문자이다. 그리고, 하이픈 뒤에는 반드 www.acmicpc.net 대문자를 찾으면 되는 문제입니다. 자세한 것은 코드를 참고해주세요. #include #include #include #include #include #include #include using namespace std; string N; string ans; int main(){ cin.tie(0); cout.tie(0); cin >> N; for(int ..
문제 링크입니다. https://www.acmicpc.net/problem/1357 1357번: 뒤집힌 덧셈 어떤 수 X가 주어졌을 때, X의 모든 자리수가 역순이 된 수를 얻을 수 있다. Rev(X)를 X의 모든 자리수를 역순으로 만드는 함수라고 하자. 예를 들어, X=123일 때, Rev(X) = 321이다. 그리고, X=100일 때, Rev( www.acmicpc.net 수를 한번 뒤집고 더한 뒤, 더한 값을 다시 뒤집어 출력하는 문제입니다. 입력받은 수는 string 형으로 만들어, reverse() 함수를 통해 쉽게 바꿀 수 있도록 합니다. 뒤집은 수를 정수형 변수로 바꿔준 뒤, 더해줍니다. 마지막으로 더해준 수를 뒤집어줘야 합니다. 54321을 예로 들면, 12345로 바꿔줘야합니다. 5432..
문제 링크입니다. https://www.acmicpc.net/problem/4470 4470번: 줄번호 텍스트에서 줄을 입력받은 뒤, 줄 번호를 출력하는 프로그램을 작성하시오. www.acmicpc.net 주어진 문장 앞에 해당 문장의 줄번호를 추가로 출력해주는 문제입니다. 자세한 것은 코드를 참고해주세요 #include #include #include #include #include #include #include using namespace std; int N; char arr[51]; int main(){ cin.tie(0); cout.tie(0); scanf("%d\n", &N); for(int i = 1; i
문제 링크입니다. https://www.acmicpc.net/problem/10821 10821번: 정수의 개수 숫자와 콤마로만 이루어진 문자열 S가 주어진다. 이때, S에 포함되어있는 정수의 개수를 구하는 프로그램을 작성하시오. S의 첫 문자와 마지막 문자는 항상 숫자이고, 콤마는 연속해서 주어지지 www.acmicpc.net 정수의 개수를 세는 문제였습니다. 콤마의 갯수만 센 뒤, 1를 더해주면 수의 갯수를 구할 수 있었습니다. 자세한 것은 코드를 참고해주세요. #include #include #include #include #include #include #include using namespace std; string x; int ans = 0; int main(){ cin.tie(0); cout..
문제 링크입니다. https://www.acmicpc.net/problem/11098 11098번: 첼시를 도와줘! 구단이 성적을 내지 못한다면 답은 새 선수 영입뿐이다. 이것은 오늘날 유럽 리그에서 가장 흔한 전략이고, 노르웨이의 로젠버그 팀은 이러한 전략이 성공한 대표적 예시다. 그들은 많은 스카 www.acmicpc.net 주어진 가격 중에서 가장 큰 가격을 찾아 해당 하는 선수를 구하는 내용입니다. 가격이 입력될 때마다 저장된 최고 가격과 비교해, 큰 가격을 찾습니다. 큰 가격을 찾게 된다면, 해당 하는 선수 이름을 저장하면 됩니다. 자세한 것은 코드를 참고해주세요. #include #include #include #include #include #include #include using name..
문제 링크입니다. https://www.acmicpc.net/problem/2857 2857번: FBI 5개 줄에 요원의 첩보원명이 주어진다. 첩보원명은 알파벳 대문자, 숫자 0~9, 대시 (-)로만 이루어져 있으며, 최대 10글자이다. www.acmicpc.net 주어진 문자열에서 FBI를 찾는 문제입니다. 자세한 것은 코드를 참고해주세요 #include #include #include #include #include #include #include using namespace std; vector ans; int main(){ cin.tie(0); cout.tie(0); for(int i = 1; i > x; for(int j = 0; j < x.size(); j++){ if(x[j] == 'F' &..
문제 링크입니다. https://www.acmicpc.net/problem/2711 2711번: 오타맨 고창영 첫째 줄에 테스트 케이스의 개수 T(1 N; for(int i = 0; i > x >> y; for(int j = 0; j < y.size(); j++){ if(x-1 == j) continue; cout
문제 링크입니다. https://www.acmicpc.net/problem/5586 5586번: JOI와 IOI 입력으로 주어지는 문자열에서 연속으로 3개의 문자가 JOI 또는 IOI인 곳이 각각 몇 개 있는지 구하는 프로그램을 작성하시오. 문자열은 알파벳 대문자로만 이루어져 있다. 예를 들어, 아래와 같 www.acmicpc.net JOI, IOI의 갯수를 구하는 문제입니다. 주어진 문자열에서 J 혹은 I가 나오는지 -> 나온다면 +1, +2의 문자가 O와 I가 맞는지를 확인하면 됩니다. 자세한 것은 코드를 참고해주세요 #include #include #include #include #include #include #include using namespace std; string x; int JOI, ..
문제 링크입니다. https://www.acmicpc.net/problem/18406 18406번: 럭키 스트레이트 첫째 줄에 점수 N이 정수로 주어진다. (10 ≤ N ≤ 99,999,999) 단, 점수 N의 자릿수는 항상 짝수 형태로만 주어진다. www.acmicpc.net 주어준 점수를 반으로 나눠 합을 구한 뒤, 합이 같은지를 구하는 문제입니다. 자세한 것은 코드를 참고해주세요. #include #include #include #include #include #include #include using namespace std; string x; int main(){ cin.tie(0); cout.tie(0); int sum1 = 0, sum2 = 0; cin >> x; for(int i = 0; ..
문제 링크입니다. https://www.acmicpc.net/problem/5524 5524번: 입실 관리 JOI회사에서는 방에 들어가기 위해 입실 기록을 입력할 때 알파벳으로 이름을 입력한다. 그런데, 컴퓨터에 오류가 나서 대문자 소문자가 섞여버려 입실 기록이 읽기 힘들어졌다. JOI회사의 입실 www.acmicpc.net 대문자를 소문자로 바꾸면 되는 문제입니다. 조건문을 이용해 대문자를 찾은 후, 소문자로 바꿔줘야합니다. 대문자가 소문자가 되기 위해서는 ('a' - 'A') 의 값을 더해주면 됩니다. -> 아스키코드를 참고하시면 됩니다. 자세한 것은 코드를 참고해주세요 #include #include #include #include #include #include #include using name..
문제 링크입니다. https://www.acmicpc.net/problem/2495 2495번: 연속구간 여덟 자리의 양의 정수가 주어질 때, 그 안에서 연속하여 같은 숫자가 나오는 것이 없으면 1을 출력하고, 있으면 같은 숫자가 연속해서 나오는 구간 중 가장 긴 것의 길이를 출력하는 프로그램을 www.acmicpc.net 8자리 정수가 주어질 때, 같은 양수가 가장 길게 나온 길이를 구하는 문제입니다. 문자를 하나 저장하는 변수를 통해, 새로운 수가 나오게 되면 해당 수로 바꿔준 뒤, 길이를 1로 바꿔줍니다. 이전 수와 같은 수가 나온다면 길이를 하나 증가해줍니다. 자세한 것은 코드를 참고해주세요. #include #include #include #include #include #include #inc..
문제 링크입니다. https://www.acmicpc.net/problem/1159 1159번: 농구 경기 상근이는 농구의 세계에서 점차 영향력을 넓혀가고 있다. 처음에 그는 농구 경기를 좋아하는 사람이었다. 농구에 대한 열정은 그를 막을 수 없었고, 결국 상근이는 농구장을 청소하는 일을 시작 www.acmicpc.net 성의 갯수가 5개가 넘는 것을 구하는 문제입니다. 알파벳 갯수를 저장하는 배열을 하나 만들어 성의 갯수를 세어준 뒤, 5개가 넘은 것을 찾아주면 됩니다. 자세한 것은 코드를 참고해주세요 #include #include #include #include #include #include #include using namespace std; int N; int alpha[26]; string ..