본문 바로가기
728x90

알고리즘/문제43

[백준] 1789. 수들의 합 <C++> https://www.acmicpc.net/problem/1789 1789번: 수들의 합 첫째 줄에 자연수 S(1 ≤ S ≤ 4,294,967,295)가 주어진다. www.acmicpc.net #include using namespace std; long long s, sum, n; int main() { cin>>s; for(int i=1; 1; i++) { sum+=i; if(sum>s) { n=i-1; break; } } cout 2020. 6. 7.
[백준] 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.
구름 문제은행 (n진법) <C++> #include using namespace std; int n, r, i; char arr[100]; int main() { cin>>n>>r; while(n) { if((n%r)>=10) arr[i]=(n%r)+55; else arr[i]=(n%r)+48; n/=r; i++; } for(i-=1; i>=0; i--) cout 2020. 5. 30.
구름 문제은행 (진법 변환) <C++> 코드를 조금 길게 짠 것 같지만 일단은 맞았다. 음... 다음엔 좀 더 줄여보는걸로.. 그나저나 1단계라니.. 윤군님 너무하십니다ㅠㅠ #include #include using namespace std; int n, r, sw, cp, cnt; string t; int main() { cin>>n>>t; //n과 t를 입력 받는다. for(r=2; r10) //11진법 이상일 때------------------------------------- for(int i=t.size()-1; i>=0; i--) { if((cp%r)>=10) //10이상은 영어로 바꾸어야함 { if((char)(cp%r+55)==t[i]) sw=1; else { sw=0; break; } } else { if((char)(cp%r.. 2020. 5. 30.
[백준] 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.
[백준] 17608. 막대기 <C++> Olympiad > 한국정보올림피아드 > KOI 2019 1차대회 > 초등부 1번 https://www.acmicpc.net/problem/17608 17608번: 막대기 아래 그림처럼 높이만 다르고 (같은 높이의 막대기가 있을 수 있음) 모양이 같은 막대기를 일렬로 세운 후, 왼쪽부터 차례로 번호를 붙인다. 각 막대기의 높이는 그림에서 보인 것처럼 순서대로 www.acmicpc.net 어렵지 않았던 문제다. 약간 입체적으로 생각해볼 문제? 막대기를 오른쪽에서 볼 때 각각의 막대기 앞에 자신보다 큰 것이 있다면 보이지 않는다. 오른쪽에서 시작하여 왼쪽으로 가며 큰 값을 기억하고, 만약 기억해둔 큰 값보다 자신이 크다면 막대기는 보인다. 큰 값을 기억하며 개수도 세주는 방법이다. #include using.. 2020. 4. 16.
728x90