본문 바로가기

전체 글

(83)
[BOJ 8958] 백준 OX퀴즈 풀이 - C++ 사용언어 : C++ 문제풀이 * 연속해서 답을 맞췄을 경우 한 문제당 배점이 높아진다 (1)테스트케이스 만큼 반복문 돌리기 cin >> T; for (int i = 0; i > answer; //string answer (해당 문자열) int num = 0; int point = 0; //num:현재 점수 point:현재 배점 for (int j = 0; j < answer.size(); j++) { if (answer[j] == 'O') { //문..
[BOJ 3052] 백준 나머지 풀이 - C++ 사용언어 : C++ 문제풀이 -변수 int arr[42]; int tmp; //값 입력받을 때 사용할 변수 int cnt; //답 (서로 다른 나머지가 몇 개 있는지 저장) (1) 나머지 갯수 저장하는 배열 생성 // 나머지 값이 index인 수가 몇 개인지 저장하는 배열 // 즉, 각 배열엔 해당 index가 나머지인 숫자의 개수가 저장돼있음 int arr[42]; (2) 반복문으로 입력받은 수의 나머지를 구해 arr의 해당 index의 값을 1 증가해주기 for (int i = 0; i > tmp; arr[tmp % 42]++; } (3) 0부터 41까지 돌면서 (42로 나눌 때 나머지가 될 수 있는 값들) 해당 index의 값이 1이상이면 cnt 값 증가해주기 for..
[BOJ 2577] 백준 숫자의 개수 풀이 - C++ 사용언어 : C++ 문제풀이 (1) A,B,C 값 입력받기. A*B*C 값 구하기. int형인 A*B*C값을 string으로 바꾸기 (char 배열에 저장된 거랑 동일) cin >> A >> B >> C; tmp = to_string(A*B*C); //string tmp; to_string : int형을 string으로 바꾸기 위해 사용 (2) 반복문으로 tmp(string:char 배열)에 순차적으로 접근해 해당 값을 int arr[10]배열에 넣어주기 for (int i = 0; i < tmp.size(); i++) { arr[tmp[i]-'0']++; } * tmp[i]는 char형이다. - 여기서 tmp[i] 형변환을 위해 string을 int로 바꿔주려고 하다보니 자꾸 오류가 났다. 이유는 st..
[BOJ 2562] 백준 최댓값 풀이 - C++ 사용언어 : C++ 문제풀이 for문 이용해 9번 돌리기. 변수 tmp로 값을 입력받고 받을 때마다 max_num(최댓값)과 확인. 최댓값보다 작다면 max_num값을 tmp로 바꿔주고 idx(몇번째 수인지)도 i(순서)로 바꿔줌 전체코드 #include using namespace std; int tmp; int max_num = 0; int idx = 0; int main() { for (int i = 1; i > tmp; if (tmp > max_num) { max_num = tmp; idx = i; } } cout
[BOJ 2439] 백준 별 찍기 - 2 풀이 -C++ 사용언어 : C++ 문제풀이 이중 loop 사용하기 - 바깥의 for문 : 행의 갯수, -안쪽의 for문 : 행 내에서의 별 갯수 입력 값 : 5 출력 : 총 5개의 줄, 각 줄에선 행의 번째 수 만큼 별 출력 -> 전체(5)에서 행의 번째 수 만큼 뺀 값 만큼 띄어주기 - 바깥 for문 for (int i = 1; i
[BOJ 2739] 백준 구구단 풀이 - C++ 사용언어 : C++ 문제풀이 간단한 문제. for문으로 구구단 출력하면 끝! for (int i = 1; i < 10; i++) { cout
[BOJ 10871] 백준 X보다 작은 수 풀이 - C++ 사용언어 : C++ 문제풀이 for문을 N번만큼 돌리며 입력값과 X를 비교. X보다 작다면 값 출력 for (int i = 0; i > tmp; if (tmp > X; for (int i = 0; i > tmp; if (tmp< X) cout
[BOJ 1463] 백준 1로 만들기 풀이 - C++ (Dynamic Programming) 사용언어 : C++ 문제풀이 * 핵심:dynamic programming이용(https://developing-soosoo.tistory.com/6 dynamic programming 설명은 여기로) 3가지 경우의 수 존재, 3가지 공식을 다 실행해준다 (min을 통해 알아서 최솟값으로 변경해줌) - vector d의 1번째 index값은 0으로 고정 vector d(n + 1); //n은 입력값 d[1] = 0; - for문으로 2부터(1엔 0존재) n이 될 때까지 실행 for (int i = 2; i n; vector d(n + 1); d[1] = 0; for (int i = 2; i