[C++] 백준 25379번 : 피하자
·
공부/BAEKJOON
https://www.acmicpc.net/problem/25379문제 요약음이 아닌 정수로 이루어진 길이 N의 배열 A배열 A에서 인접한 두 수를 교환하는 시행을 원하는 만큼 할 수 있다.홀수와 짝수가 인접한 경우가 최대 1번 등장하도록 하는 시행의 최대 횟수를 구하여라0도 짝수로 간주한다.입력과 출력풀이인접한 두 수를 비교했을 때, 짝수와 홀수라면 서로 바꾼다.인접한 두 수가 짝수, 짝수 또는 홀수, 홀수라면 바꿀 필요가 없다..#include #includeusing namespace std;int N;vector A;int result = 0;void Swap(vector &V,int first) { int count = 0; for (int i = 1; i > N; A.resize(N); for..
[C++] 백준 14503번 : 로봇 청소기
·
공부/BAEKJOON
https://www.acmicpc.net/problem/14503문제 요약방의 크기는 N x M방의 각 칸은 좌표 (r ,c)로 나타낸다.현재 칸이 아직 청소되지 않은 경우, 현재 칸을 청소한다.현재 칸의 주변 4칸 중 청소되지 않은 빈 칸이 없는 경우,바라보는 방향을 유지한 채로 한 칸 후진하고 1번으로 돌아간다.바라보는 방향의 뒤쪽 칸이 벽이라면 작동을 멈춘다.현재 칸의 주변 4칸 중 청소되지 않은 빈 칸이 있는 경우,반시계 방향으로 90도 회전한다.바라보는 방향의 앞쪽 칸이 청소되지 않은 빈 칸인 경우 한 칸 전진한다.1번으로 돌아간다.입력과 출력제출 답안#include#includeusing namespace std;int N;int M;int r;int c;int d;vector> v;vect..
[C++] 백준 2578번 : 빙고
·
공부/BAEKJOON
https://www.acmicpc.net/problem/2578문제 요약5x5칸의 빙고판에 1부터 25까지의 자연수를 한 칸에 하나씩 쓴다..사회자가 부르는 수를 차례로 지운다.같은 가로줄, 세로줄, 대각선 위에 있는 5개의 모든 수가 지워지는 경우 그 줄에 선을 긋는다.선이 세 개 이상 그어지는 순간 "빙고"라고 외치며, 가장 먼저 외치는 사람이 승리한다.철수가 빙고판에 쓴 수들과 사회자가 부르는 수의 순서가 주어질 때, 사회자가 몇 번째 수를 부른 후 철수가 "빙고"를 외치게 되는지를 출력하는 프로그램을 작성하시오.입력과 출력제출 답안#include #includeusing namespace std;int bingo[5][5];int answer[25];int collect[10] = { 0,0,0..
[C++] 백준 11660번: 구간 합 구하기5
·
공부/BAEKJOON
https://www.acmicpc.net/problem/11660문제N×N개의 수가 N×N 크기의 표에 채워져 있다. (x1, y1)부터 (x2, y2)까지 합을 구하는 프로그램을 작성하시오. (x, y)는 x행 y열을 의미한다.예를 들어, N = 4이고, 표가 아래와 같이 채워져 있는 경우를 살펴보자.1234234534564567여기서 (2, 2)부터 (3, 4)까지 합을 구하면 3+4+5+4+5+6 = 27이고, (4, 4)부터 (4, 4)까지 합을 구하면 7이다.표에 채워져 있는 수와 합을 구하는 연산이 주어졌을 때, 이를 처리하는 프로그램을 작성하시오. 정리 1. 이차원 배열에 입력값 저장2. 합 배열 S 구하기 S[i][j] = S[i - 1][j] + S[i][j - 1] - S[i - 1]..
[C++] 백준 11659번: 구간 합 구하기4
·
공부/BAEKJOON
https://www.acmicpc.net/problem/11659문제수 N개가 주어졌을 때, i번째 수부터 j번째 수까지 합을 구하는 프로그램을 작성하시오. 제출코드 1(오답)이렇게 작성했을 때 샘플케이스는 통과했지만 백준에서 실패라고 떴다...다시 살펴보니 배열의 크기를 1000으로 잘못설정했기 때문에 100001로 수정했다.#include using namespace std;int N; //수의 개수int M; //합을 구해야 하는 횟수int arr[1000];//입력된 수를 저장하는 배열long long S[1000];//합 배열int i, j; //합을 구해야 하는 구간long long result[1000];//결과 값을 저장하는 배열int main() { //입력값 저장 cin >> N >>..
[C++] 백준 1546: 평균
·
공부/BAEKJOON
https://www.acmicpc.net/problem/1546문제세준이는 기말고사를 망쳤다. 세준이는 점수를 조작해서 집에 가져가기로 했다. 일단 세준이는 자기 점수 중에 최댓값을 골랐다. 이 값을 M이라고 한다. 그리고 나서 모든 점수를 점수/M*100으로 고쳤다.예를 들어, 세준이의 최고점이 70이고, 수학점수가 50이었으면 수학점수는 50/70*100이 되어 71.43점이 된다.세준이의 성적을 위의 방법대로 새로 계산했을 때, 새로운 평균을 구하는 프로그램을 작성하시오. 정리1. 최고 점수를 구한다.2. 입력받은 성적의 합계를 구한다.3. (합계 / 최고점수 * 100 / 과목 개수)를 계산하여 평균 점수를 구한다. 제출 코드#includeusing namespace std;int N; //과목..
[C++] 백준 11720: 숫자의 합
·
공부/BAEKJOON
https://www.acmicpc.net/problem/11720문제N개의 숫자가 공백 없이 쓰여있다. 이 숫자를 모두 합해서 출력하는 프로그램을 작성하시오.  제출 코드 #include using namespace std;int N;string input;int sum;void Sum(int arr[]) { for (int i = 0; i > N; int* arr = new int[N]; cin >> input;//입력값을 string에 저장 for (int i = 0; i  노트입력값에 숫자 N개가 공백 없이 주어지므로 string으로 받아 준다.이때, int형으로 변환해주어야 한다.아스키코드에서 문자와 숫자의 코드값 차이는 48이므로문자에 -48 또는 -'0'을 해주면 된다...
[C++] 백준 2750번: 수 정렬하기
·
공부/BAEKJOON
https://www.acmicpc.net/problem/2750 문제 N개의 수가 주어졌을 때, 이를 오름차순으로 정렬하는 프로그램을 작성하시오   제출 코드#includeusing namespace std;int N;int arr[1000];void merge(int arr[], int left,int mid, int right) { int n1 = mid - left + 1; //왼쪽 배열의 크기 int n2 = right - mid; //오른쪽 배열의 크기 //임시 배열 생성 int* leftArr = new int[n1]; int* rightArr = new int[n2]; for (int i = 0; i > N; for (int i = 0; i > arr[i]; } mergesort(arr, ..
[python파이썬]백준 10952번 : A+B - 5
·
공부/BAEKJOON
문제 분석 1. 각 줄마다 A,B을 입력받고 A+B의 결과값을 출력한다. 2. A,B 둘 다 0이 입력되면 반복을 끝낸다. 내 제출 while True : A, B = map(int,input().split()) if A==B==0 : break print(A+B)
[python파이썬]백준 2439번 : 별 찍기 - 2
·
공부/BAEKJOON
문제 분석 1. 첫째줄에 N을 입력받는다. 2. 첫째줄에는 별 1개, 둘째줄에는 별 2개, N번재 줄에는 별 N개를 오른쪽 정렬하여 출력한다. 내 제출 N = int(input()) for i in range(N) : print(" "*(N-(i+1))+"*"*(i+1)) 각 줄마다 N-(i+1)개만큼의 빈칸 + (i+1)개만큼의 별을 출력한다.