https://www.acmicpc.net/problem/2581 2581번: 소수 M이상 N이하의 자연수 중 소수인 것을 모두 찾아 첫째 줄에 그 합을, 둘째 줄에 그 중 최솟값을 출력한다. 단, M이상 N이하의 자연수 중 소수가 없을 경우는 첫째 줄에 -1을 출력한다. www.acmicpc.net #include #include #include using namespace std; int main() { int m, n; cin >> m >> n; unsigned long sum = 0; vector v; for (int i = m; i
https://www.acmicpc.net/problem/2941 2941번: 크로아티아 알파벳 예전에는 운영체제에서 크로아티아 알파벳을 입력할 수가 없었다. 따라서, 다음과 같이 크로아티아 알파벳을 변경해서 입력했다. 크로아티아 알파벳 변경 č c= ć c- dž dz= đ d- lj lj nj nj š s= ž z= www.acmicpc.net #include #include using namespace std; int main() { // dz= 와 z=를 주의해야한다. string input; cin >> input; int count = 0; int three = 0; for (int i = 0; i = input.length() - 1)..
https://www.acmicpc.net/problem/1302 1302번: 베스트셀러 첫째 줄에 오늘 하루 동안 팔린 책의 개수 N이 주어진다. 이 값은 1,000보다 작거나 같은 자연수이다. 둘째부터 N개의 줄에 책의 제목이 입력으로 들어온다. 책의 제목의 길이는 50보다 작거나 같고 www.acmicpc.net map 이라는 자료구조를 처음 알았다. map은 각 노드가 key와 value 쌍으로 이루어진 트리 따라서 map은 first, second가 있는 pair 객체로 저장되는 데 first- key로 second- value로 저장. map은 자료를 저장할 때 자동으로 내부에서 정렬 key 기준으로 오름차순 정렬 #include #include #include #include using na..
https://www.acmicpc.net/problem/1205 1205번: 등수 구하기 첫째 줄에 N, 태수의 새로운 점수, 그리고 P가 주어진다. P는 10보다 크거나 같고, 50보다 작거나 같은 정수, N은 0보다 크거나 같고, P보다 작거나 같은 정수이다. 그리고 모든 점수는 2,000,000,000보 www.acmicpc.net 랭크 시스템이 있는 게임을 해봤다면 이해하기 편하다. 주의해야할점은 같은 점수면 등수가 같다는 점. 그리고 리스트 수를 벗어난다면 그 랭크 안에 들어갈 수 없다는 것. #include #include #include using namespace std; bool compare(int a, int b) { if (a > b) return true; else return ..
https://www.acmicpc.net/problem/1812 1812번: 사탕 첫째 줄에 N(3 ≤ N ≤ 999, N은 홀수)이 주어진다. 둘째 줄부터 N개의 줄에 걸쳐 1번 학생과 2번 학생이 가지고 있는 사탕의 수의 합, 2번 학생과 3번 학생이 가지고 있는 사탕의 수의 합, …, N-1번 학 www.acmicpc.net N이 홀수이기 때문에, - + 를 이렇게 반복해주면 2 * 1번이 남게된다. 이를 활용하면 간단. #include #include using namespace std; int main() { ios::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); int N; cin >> N; vector v(N); for (int i = 0..
https://www.acmicpc.net/problem/1543 1543번: 문서 검색 세준이는 영어로만 이루어진 어떤 문서를 검색하는 함수를 만들려고 한다. 이 함수는 어떤 단어가 총 몇 번 등장하는지 세려고 한다. 그러나, 세준이의 함수는 중복되어 세는 것은 빼고 세야 한 www.acmicpc.net 검색하고 싶은 단어를 want라는 string타입의 변수에 넣어놓자. 문서와 단어를 비교했을 때 일치한다면 그 다음 비교는 want의 다음 칸부터 검색을 해야지, 인덱스 한칸만 넘어가서 검색을 하면 안된다는 것에 유의해야한다. input[i+j] == want[j]로 하나씩 찾고 만약 n == length, 즉 다 맞았다면 count를 하나 해주고 want 수만큼 점프해야하므로 i = i + lengt..
https://www.acmicpc.net/problem/1312 1312번: 소수 피제수(분자) A와 제수(분모) B가 있다. 두 수를 나누었을 때, 소숫점 아래 N번째 자리수를 구하려고 한다. 예를 들어, A=3, B=4, N=1이라면, A÷B=0.75 이므로 출력 값은 7이 된다. www.acmicpc.net 학교 java 수업 진도초반은 너무 쉬워서 그냥 제끼고 백준 푸는중. 처음엔 그냥 나누려다가 숫자가 너무 커지면 소숫점 정확도가 떨어지기 때문에 문제에선 해당 원하는 자릿수만을 원하기에 그냥 하나씩 반복문을 돌려가며 찾는 것으로 결정했다. 보통 우리가 나눗셈을 할때 어떻게 나누는지 생각해보면 쉽게 풀린다. 나눗셈을 하고 1. 나머지에 *10을 하고 2. B와 나누고 그 몫이 어떤 자리의 소숫점..
https://www.acmicpc.net/problem/4949 4949번: 균형잡힌 세상 하나 또는 여러줄에 걸쳐서 문자열이 주어진다. 각 문자열은 영문 알파벳, 공백, 소괄호("( )") 대괄호("[ ]")등으로 이루어져 있으며, 길이는 100글자보다 작거나 같다. 입력의 종료조건으로 맨 마 www.acmicpc.net [이 왔다면 무조건 ]가 그 다음에 와야하고 (이 왔다면 무조건 )이 그 다음에 와야한다. 그 사이에 다른 기호가 와버리면 에러가 난다. 우선 이 원칙에 따라서 생각한게 스택이었다. 말 그대로 (이나 [이 온 게 먼저 쌓여있어야하고 그 이후에 온걸 확인하고 빼야하기때문이다. #include #include #include using namespace std; int main() { ..