본문 바로가기
728x90

백준19

[백준] 1920. 수 찾기 <C++> https://www.acmicpc.net/problem/1920 1920번: 수 찾기 첫째 줄에 자연수 N(1≤N≤100,000)이 주어진다. 다음 줄에는 N개의 정수 A[1], A[2], …, A[N]이 주어진다. 다음 줄에는 M(1≤M≤100,000)이 주어진다. 다음 줄에는 M개의 수들이 주어지는데, 이 수들이 A안�� www.acmicpc.net 이 문제는 시간초과를 위한 문제이다. 퀵정렬을 이용해 정렬하고, 이분탐색으로 풀어야한다. 그리고 C++언어를 이용해 cin, cout을 이용해도 시간초과가 발생하기 때문에 cin, cout의 시간을 줄여줄 명령어도 사용해주어야한다. //cin, cout의 시간을 줄여주는 명령어 cin.tie(NULL); ios_base::sync_with_stdio(0.. 2020. 7. 28.
[백준] 6588. 골드바흐의 추측 <C++> 1. 우선 입력받을 때마다 소수를 찾으면 200%의 확률로 시간 초과가 납니다. 에라토스를 써줍시다. //에라토스 코드 for(int i=2; i*i 2020. 7. 21.
백준에 관한 재밌는 것들 1) 이 글의 제목과 역설적이게도 백준은 노잼이다. (백준 노잼...) noj.am Baekjoon Online Judge Baekjoon Online Judge 프로그래밍 문제를 풀고 온라인으로 채점받을 수 있는 곳입니다. www.acmicpc.net 2) 출제자님의 센스가 굉장히 독특한 문제들이 많다. (왜이러는걸까...) 참고로 정ㅋ벅ㅋ문제가 가장 쉽다. 웬만하면 이 문제들은 풀려고 하지 말자.. https://www.acmicpc.net/workbook/view/1376 문제집: 백준 7대 난제 (CookieHCl) www.acmicpc.net + 15641(SUPER SUPER BINARY SEARCH DELUXE 2.5: THE LEGEND OF THE GOLDEN MAZASSUMNIDA, E.. 2020. 7. 4.
[백준] 17615. 볼 모으기 <C++> https://www.acmicpc.net/problem/17615 17615번: 볼 모으기 첫 번째 줄에는 볼의 총 개수 N이 주어진다. (1 ≤ N ≤ 500,000) 다음 줄에는 볼의 색깔을 나타내는 문자 R(빨간색 볼) 또는 B(파란색 볼)가 공백 없이 주어진다. 문자열에는 R 또는 B 중 한 종류만 주�� www.acmicpc.net 음.. 무언가 규칙이 있을 것 같기는 한데 떠오르지는 않았다... 그래서 정말 단순하게 알고리즘을 생각했다. 파란색들을 왼쪽으로 다 모을 때, 오른쪽으로 모을 때 빨간색들을 왼쪽으로 다 모을 때, 오른쪽으로 모을 때 (코드에서 정말로 배열의 각 방을 스왑하거나 하지는 않는다. 개수를 셀 뿐이다.) 이렇게 네 가지의 경우를 모두 구해 최소값을 구하도록 만들었다. RB.. 2020. 6. 20.
[백준] 9094. 수학적 호기심 <C++> https://www.acmicpc.net/problem/9094 9094번: 수학적 호기심 문제 두 정수 n과 m이 주어졌을 때, 0 < a < b < n인 정수 쌍 (a, b) 중에서 (a2+b2+m)/(ab)가 정수인 쌍의 개수를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테 www.acmicpc.net 나누기를 나머지로만 바꾸면 되는 단순한 문제였다. 하지만 나는 바보 같은 짓을 또 했다 . . . . . . 조건만 보고 반복문을 0부터 돌렸다가 에러가 났다. 바보다... 0으로 나눌 생각을 하다니 큰 실수를 했다.. 다음부턴 꼭 조심..! #include using namespace std; int cnt, n, m, t, a, b; int main(.. 2020. 6. 3.
[백준] 9093. 단어 뒤집기 <C++> https://www.acmicpc.net/problem/9093 9093번: 단어 뒤집기 문제 문장이 주어졌을 때, 단어를 모두 뒤집어서 출력하는 프로그램을 작성하시오. 단, 단어의 순서는 바꿀 수 없다. 단어는 영어 알파벳으로만 이루어져 있다. 입력 첫째 줄에 테스트 케이스의 www.acmicpc.net 처음엔 스택을 쓸까 했는데 굳이 코드만 길어지고 덜 효율적일 것 같아 배열만 이용하였다. #include #include using namespace std; int n, sw; string str; int main() { cin>>n; cin.ignore(); // 버퍼 무시 for(int k=0; k 2020. 6. 3.
[백준] 18883. N M 찍기 <C++> www.acmicpc.net/problem/18883 18883번: N M 찍기 총 N개의 줄을 출력해야 한다. 각 줄에는 M개의 정수를 공백 한 칸으로 구분해 출력해야 한다. 1번 줄에는 1부터 M까지, 2번 줄에는 M+1부터 2×M까지, ..., N번 줄에는 (N-1)×M+1부터 N×M까지 출력해야 www.acmicpc.net 이 문제는 입출력 연습에 좋은 문제인 것 같다. #include using namespace std; int main(){ int n, m, cnt=1; //cnt는 1부터 출력된다. cin>>n>>m; for(int i=0; i 2020. 4. 27.
[백준] 18512. 점프 점프 <C++> https://www.acmicpc.net/problem/18512 18512번: 점프 점프 첫째 줄에 두 사람이 한 번에 멀리뛰기를 하는 거리 X, Y와 시작 지점의 위치 값 P1, P2가 각각 공백을 기준으로 구분되어 자연수로 주어진다. (1 ≤ X, Y, P1, P2 ≤ 100) www.acmicpc.net *내 코드의 전체적인 설명* 10 12 30 8 을 입력받으면 30과 8을 비교 -> 둘이 다르므로 더 작은 녀석을 키워줌. 30과 20을 비교 -> ''' 30과 32를 비교 -> ''' 40과 32를 비교 -> ''' 40과 44를 비교 -> ''' 50과 44를 비교 -> ''' 50과 56을 비교 -> ''' 60과 56을 비교 -> ''' 60과 68을 비교 -> ''' 70과 68을 .. 2020. 4. 24.
[백준] 4344. 평균은 넘겠지 <C++> www.acmicpc.net/problem/4344 4344번: 평균은 넘겠지 대학생 새내기들의 90%는 자신이 반에서 평균은 넘는다고 생각한다. 당신은 그들에게 슬픈 진실을 알려줘야 한다. www.acmicpc.net #include using namespace std; int main(){ cout >a;//2) for(int i=0; i>n;//3) for(int j=0; j>arr[j]; everage+=arr[j]; } everage/=n;//3) for(int j=0; jeverage) cnt++; } percent=cnt*100.0/n;//5) cout 2020. 4. 17.
728x90