평균 : 다 더해서 수의 개수로 나누는 것 최빈값 : 주어진 수들 가운데 가장 많이 나타나는 수 변수 다 int임 n : 사용자 입력 수 sum = 0 : 입력한 수들의 합 numList[10] = 입력한 수들 넣어두는 배열 countList[10] = 입력한 수들이 각각 몇개씩 있는지 저장해두는 배열 maxCount = 가장 많이 나온 수의 개수 max = maxCount가 가장 큰 수 풀이 평균 얘는 쉽다. 그냥 다 더해서 10으로 나누면 된다. 최빈값 얘를 생각해내느라 고생을 좀 했다. 내가 생각한 방법은 다음과 같다. 1. 입력받은 수를 numList 배열에 순서대로 넣어준다. 2. 배열 내에 같은 수가 있는지 비교해보고, 있다면 countList의 같은 인덱스의 요소를 1씩 증가해준다. 이로써 ..
Algorithm/Problem Solving
오타를 지운 문자열 출력 변수 int t : 테스트 케이스 개수 int typoIndex : 오타 낸 위치 string user : 입력 받은 문자열 풀이 str 멤버함수 replace 사용 str.replace( 인덱스, 길이, 대체할 문자열 ) : str의 인덱스부터 길이만큼 대체할 문자열로 대체. 예) str.replace(1, 2, "hi") str의 1번째 인자에서부터 2개를 "hi"로 대체 코드 #include using namespace std; int main() { int t, typoIndex; string user; cin >> t; for (int i = 0; i > typoIndex >> user; cout
기차에 사람이 가장 많을 때의 사람 수 계산하는 프로그램 풀이 2021/01/20 - [C++/백준 알고리즘] - [C++] 백준 2455번 지능형 기차 풀이 [C++] 백준 2455번 지능형 기차 풀이 4개의 정차역이 있는 노선에서 운행 기차 안에 사람이 가장 많을 때의 사람 수를 계산 * 사람들 다 내린 후 사람 탐 )) 위와 같은 경우에는 42가 답 ( 32 - 3 + 13 ) 변수 int num1 : 내린 사람 int num2 : 탄 jyostudy.tistory.com 코드 #include using namespace std; int main() { int num1, num2, total = 0, max = 0; for (int i = 0; i > num1 >> ..

변수 string A, B, : 사용자가 입력한 두 수 string a, b : 사용자가 입력한 수를 거꾸로 뒤집은 것 풀이 위의 사진과 같이 A를 뒤집어 변수 a에 저장해야한다. 인덱스를 사용해야하므로 string을 사용한 것이다. 또한, 인덱스 0에 있던 것이 인덱스 2로, 1은 1로, 2는 0으로 가는 것을 보아 a[i] = A[2-i]임을 알 수 있다. 마지막에 비교할 때, 문자열을 정수로 변환해주면 된다.(stoi 사용) 코드 #include #include using namespace std; int main() { string A, B, a = "000", b = "000"; cin >> A >> B; for (int i = 0; i < 3; i++) { a[2 - i] = A[i]; b[2..

0은 틀린 경우, 1은 맞는 경우 연속으로 답이 맞으면 가산점 1점씩 플러스 ( 연속 세개 맞으면 1+2+3 ) 가산점을 고려해 총 점수를 계산하라. 변수 int n : 문제의 개수 int score = 0 : 총 점수 int res[100] : 채점 결과 입력받아 저장하는 배열 int bonus = 0 : 가산점 풀이 가산점 규칙 연속으로 답이 맞을 때마다 1점씩 올라가며, 답을 틀리면 가산점이 0으로 초기화된다. 연속으로 답이 맞는지 체크 : 이전 인덱스의 요소도 1인지 체크하면 된다. 코드 #include using namespace std; int main() { int n, score = 0, res[100], bonus = 0; cin >> n; for (int i = 1; i < n + 1;..
4개의 정차역이 있는 노선에서 운행 기차 안에 사람이 가장 많을 때의 사람 수를 계산 * 사람들 다 내린 후 사람 탐 )) 위와 같은 경우에는 42가 답 ( 32 - 3 + 13 ) 변수 int num1 : 내린 사람 int num2 : 탄 사람 int total = 0 : 기차에 탄 사람 수 int max = 0 : 사람이 가장 많을 때 풀이 total의 최댓값 구하기(참고) 2021/01/19 - [C++/백준 알고리즘] - [C++] 백준 2562. 최댓값 풀이 [C++] 백준 2562. 최댓값 풀이 9개의 서로 다른 자연수가 주어질 때, 이들 중 최댓값을 찾고 그 최댓값이 몇 번째 수인지를 구하는 프로그램 작성 사용한 변수 num : 사용자에게 입력받을 수 max = 0 : 최댓값 maxIndex..
변수 int n, : 과목의 개수 int M = 0; : 최댓값 float score[1000] : 나누는 과정에서 실수 나올 수 있으므로 실수형 float sum = 0 : 실수 덧셈 쓰므로 실수형 풀이 1. 세준이 점수 중 최댓값(M) 고르기 (참고) 2021/01/19 - [C++/백준 알고리즘] - [C++] 백준 2562. 최댓값 풀이 [C++] 백준 2562. 최댓값 풀이 9개의 서로 다른 자연수가 주어질 때, 이들 중 최댓값을 찾고 그 최댓값이 몇 번째 수인지를 구하는 프로그램 작성 사용한 변수 num : 사용자에게 입력받을 수 max = 0 : 최댓값 maxIndex : 최댓값의 순 jyostudy.tistory.com 2. 모든 점수를 '점수/M*100'으로 고치기 최댓값을 구할 때, 모..
10부제란? 자동차 번호의 일의 자리 숫자와 날짜의 일의 자리 숫자가 일치하면 해당 자동차의 운행 금지 10부제를 위반하는 자동차의 대수를 세라. 변수 int day : 날짜의 일의 자리 숫자 int num : 자동차 번호의 일의 자리 숫자 int vioCar = 0 : 위반하는 차량 수 풀이 num을 입력받을 때마다 day와 같은지 비교. 같다면 vioCar를 1 증가한다. 코드 #include using namespace std; int main() { int day, num, vioCar = 0; cin >> day; for (int i = 0; i > num; if (num == day) { vioCar++; } } cout