본문 바로가기

Programming64

[백준] 2775번 : 부녀회장이 될테야 - (C++) 문제 풀이 k층의 n호에 거주하는 사람은 아래의 표와 같다. 재귀함수를 이용하여, getNum 함수를 만들었다. int getNum(int x, int y) { if (y == 1) { return 1; } else if (x == 0) { return y; } else { return (getNum(x - 1, y) + getNum(x, y - 1)); } } if else 문을 이용하여 n = 1인 경우에는, 항상 한 명이 거주하고 있기 때문에 return 1을 k = 0인 경우에는, 항상 n명이 거주하고 있기 때문에 return n을 해주었다. 위의 경우가 아니라면, (k층의 n-1호) + (k-1층의 n호) = (k층의 n호)가 성립한다. 코드 #include using namespace std;.. 2023. 5. 24.
[백준] 1546번 : 평균 - (C++) 문제 풀이 n, score, max, sum은 int형으로 선언한다. answer은 실수형으로 출력되기 때문에, float형으로 선언한다. '점수의 합계 X 100.0 ÷ 최댓값 ÷ 과목의 개수'가 출력값이 된다. 출력값은 소수점을 포함하는 값이여야 하므로, 100이 아닌 100.0으로 두었다. answer = sum * 100.0 / max / n; 코드 #include #include using namespace std; int main() { int n, score; float answer; cin >> n; int max = -1; int sum = 0; for (int i = 0; i > score; sum += score; if (score > max) { max.. 2023. 5. 16.
[백준] 11654번 : 아스키 코드 - (C++) 문제 풀이 char형 변수 c를 선언하고, 입력받은 후, (int)를 붙여 형 변환을 한다. 코드 #include using namespace std; int main() { char c; cin >> c; cout 2023. 4. 20.
[백준] 2675번 : 문자열 반복 - (C++) 문제 풀이 중첩 for문을 이용해, 문자열 반복을 구현한다. 테스트 케이스의 개수인 T를 입력받은 후, 첫 번째 for문에서, R, S를 입력받아 T번 동안 연산을 반복한다. 두 번째 for문에서는 문자열 S의 길이만큼 연산을 반복하고, 세 번째 for문에서 정수 R만큼 연산을 반복해, 결과값을 출력한다. 코드 #include #include using namespace std; int main() { int T, R, P; string S; cin >> T; for (int i = T; i > 0; i--) { cin >> R >> S; for (int j = 0; j < S.size(); j++) { for (int k = 0; k < R; k++) { cout 2023. 4. 20.
[백준] 2562번 : 최댓값 - (C++) 문제 풀이 int형 변수 num, max, a를 선언한다. num은 값을 입력받기 위한 변수, max는 최댓값을 저장하기 위한 변수, a는 몇 번째 변수인지를 저장하기 위한 변수이다. for문을 이용해, num의 입력이 9번 반복되도록 한다. if문을 이용해 num값이 max보다 큰 경우에 num 값을 max에 저장하고, i값을 a에 저장한다. for (int i = 1; i > num; if (num > max) { max = num; a = i; } } 코드 #include using namespace std; int main() { int num, max = -1; int a; for (int i = 1; i > num; if (num > max) { max = num; a = i; } } cout 2023. 4. 20.
[백준] 2475번 : 검증수 - (C++) 문제 풀이 고유번호는 각 숫자를 제곱한 수의 합을 10으로 나눈 나머지이다. int형 변수 num, answer, square을 선언해준다. for문을 이용해, num을 입력받고 square에 num의 제곱값을 저장하는 과정을 반복한다. 마지막으로, answer = square % 10으로 10으로 나눈 나머지를 도출해 출력한다. 코드 #include using namespace std; int main() { int num, answer = 0; int square = 0; for (int i = 0; i > num; square += num * num; } answer = square % 10; cout 2023. 4. 20.
[백준] 8958번 : OX퀴즈 & 문자열, 배열의 길이 오류 - (C++) 문제 첫 번째 풀이 - 출력값 이상 & 오류 발생 #include #include using namespace std; int main() { int accumulate = 0; int T, score = 0; char arr[80]; cin >> T; while (T--) { accumulate = 0; score = 0; int size = 0; cin >> arr; size = (sizeof(arr) / sizeof(*arr)); for (int i = 0; i < size; i++) { if (arr[i] == 'O') { accumulate++; score += accumulate; } else if (arr[i] == 'X') { accumulate = 0; } } cout arr; for (.. 2023. 4. 20.
[백준] 2524번 : '별 찍기 -14' - (C++) 문제 풀이 처음에는 원하는 모양대로 별 찍기를 구현하면 되는 줄 알아, 여러 가지를 시도해보았지만 실패했다. 질문 게시판을 참고해보니 아래와 같이 '꽉찬 정사각형'을 만들면 해결이 가능한 문제였다. 따라서, 아래와 같이 이중 for문을 이용하여 해결할 수 있었다. for (int i = 1; i 2023. 4. 19.
[백준] 2523번 : '별 찍기 -13' - (C++) 문제 풀이 삼각형 두 개가 붙어있는 모양의 이등변 삼각형이기 때문에 n번째 줄을 기준으로 두 개의 for문을 만들어 해결했다. 첫 번째 줄부터 n 번째 줄까지의 for문은 다음과 같다. for (int i = 1; i 2023. 4. 19.
반응형