Algorithm/Problem Solving

평균 : 다 더해서 수의 개수로 나누는 것 최빈값 : 주어진 수들 가운데 가장 많이 나타나는 수 변수 다 int임 n : 사용자 입력 수 sum = 0 : 입력한 수들의 합 numList[10] = 입력한 수들 넣어두는 배열 countList[10] = 입력한 수들이 각각 몇개씩 있는지 저장해두는 배열 maxCount = 가장 많이 나온 수의 개수 max = maxCount가 가장 큰 수 풀이 평균 얘는 쉽다. 그냥 다 더해서 10으로 나누면 된다. 최빈값 얘를 생각해내느라 고생을 좀 했다. 내가 생각한 방법은 다음과 같다. 1. 입력받은 수를 numList 배열에 순서대로 넣어준다. 2. 배열 내에 같은 수가 있는지 비교해보고, 있다면 countList의 같은 인덱스의 요소를 1씩 증가해준다. 이로써 ..
오타를 지운 문자열 출력 변수 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
정쫀쪼
'Algorithm/Problem Solving' 카테고리의 글 목록 (4 Page)