반응형

분류 전체보기 652

백준 1292번 쉽게 푸는 문제 C++

리뷰벡터에 값을 넣어 주고 구간 합을 구하는 문제 문제 풀이벡터를 0으로 초기화 해준다. 0번 인덱스는 참조할 일이 없다.구간의 최대 범위가 1000이므로 벡터를 길이 1000이상이 되도록 만들어준다.2중 while문을 통해 1, 2, 2, 3, 3, 3, 4, 4, 4, 4 .. 의 값을 벡터에 push 해준다.합을 구할 구간을 나타낼 두 변수를 입력 받고 해당 구간의 합을 구한 뒤 출력해 준다. 참고 사항없음  정답 코드#include #include using namespace std;int main() { vector lst = { 0 }; int index = 1; int a, b; cin >> a >> b; while (lst.size()

백준 2953번 나는 요리사다 C++

리뷰배열에서 가장 큰 합을 가진 행의 값과 인덱스를 구하는 문제 문제 풀이2차원 배열 안에 입력값을 받아와 준다.각 행의 값의 합을 최대값과 비교하고, 최대값보다 높은 합을 가진 행이면 그 인덱스를 저장한다.합이 가장 큰 행의 합과 해당 행의 인덱스를 출력해 준다. 참고 사항인덱스에 +1을 해줘야 해당 참가자의 번호가 된다.  정답 코드#include #include using namespace std;int main() { int lst[5][4]; for (int i = 0; i > lst[i][j]; } } int max_index = 0; int max_val = 0; for (int i = 0; i max_val) { max_val = temp; max_index = i + 1; }..

백준 2592번 대표값 C++

리뷰배열의 평균과 max_count값을 구하는 문제 문제 풀이길이 10짜리 배열을 초기화 후 해당 배열에 입력값을 모두 받아준다.배열내 요소의 값을 모두 더해주고 해당 값이 배열내에 몇개 존재하는지 찾아준다.현재 최대 많이 나온 값이라면 해당 값을 저장해 주고 더 많이 나온 값이 있다면 최신화 해준다.배열 내 요소의 값을 10으로 나눈 값과 가장 많이 나온 값을 출력해 준다. 참고 사항없음  정답 코드#include #include using namespace std;int main() { int a, i, j; int sum = 0; int nums[10]; for (i = 0; i > nums[i]; } int max_cnt = 0; int max_val = 0; for (i = 0; i

SWEA 1979번 D2 어디에 단어가 들어갈 수 있을까 파이썬, C++

리뷰1브루트포스 알고리즘을 통한 풀이문제 풀이n * n 크기의 배열을 전체 탐색해 주었다.우선 가로의 경우 (i, j) 인덱스의 요소가 1일 경우 temp1를 1 올려준다. 0일 경우 현재 temp1에 저장된 값이 k와 동일하다면 cnt를 1올려준다. 이후 temp1을 0으로 초기화세로의 경우 (j, i) 인덱스의 요소가 1일 경우 temp2를 증가, 0일 경우 상동마지막에 0을 만나지 않은 케이스가 있을 수도 있으므로 for문이 끝난 후 해당 작업을 한번 더 실행해 준다.각 테스트 케이스마다 케이스 번호와 cnt값 출력 참고 사항temp가 정확히 k와 동일할때만 cnt를 추가해 주어야 한다. 정답 코드파이썬t = int(input())for c in range(1, t + 1): n, k = ma..

백준 10995번 별찍기 - 20 C++

리뷰나머지를 활용한 문제 문제 풀이입력받은 n의 수만큼 for문을 개행해 준다.만약 현재 for문의 실행 횟수가 짝수번째 일 경우 "* "를 n개만큼 출력해 준다.반대로 홀수번째 일 경우 " *"를 n개만큼 출력해 준다. 참고 사항for문에서 i값을 적절히 배분하면 된다.  정답 코드#include using namespace std;int main() { int n, i, j; cin >> n; for (i = 0; i

백준 2921번 도미노 C++

리뷰처음엔 문제가 이해가 안됐고, 이해가 된 후에는 점화식을 어떻게 세워야 할지 고민이 됐다. 정답률이 어떻게 80%가 넘는거지? 문제 풀이경우의 수를 생각하면 도미노 한칸은 i, 다른 도미노 한칸은 j라고 생각해 보자i도미노가 0 ~ n까지 들어올때 j도미노는 i부터 n까지 들어올 수 있다.예를 들어 n이 3이라면 i도미노가 0일때 j도미노는 0~3까지 들어올 수 있다.i도미노가 1일때 j도미노는 1~3까지 들어올 수 있다. 이를 n까지 반복한다.for문이 종료되면 최종 정답을 출력해 준다. 참고 사항n                1x011             y001            2x012122          y000112         3x0123123233      y0000111223..

백준 2010번 플러그 C++

리뷰정답률이 56%던데 왜지? 싶은 문제 문제 풀이플러그는 기본적으로 1개가 있다, sum 변수를 1로 초기화 해준다.각 멀티탭의 구멍 갯수에서 1만큼 빼주고 sum변수에 더해준다.최종 sum 변수가 컴퓨터를 연결할 수 있는 구멍의 개수가 된다. 참고 사항멀티탭에 또다른 멀티탭을 연결할 경우 현재 멀티탭의 구멍을 1개 쓰게 되므로 1만큼 빼주는 것  정답 코드#include using namespace std;int main() { int n, i, j; cin >> n; int sum = 1; for (i = 0; i > j; sum += j - 1; } cout

백준 10833번 사과 C++

리뷰배열을 생성할 필요도 없는 문제였다. 문제 풀이학교의 개수 n개의 값을 받아오고, 정답을 출력할 변수를 0으로 초기화 해준다.학교의 개수만큼 for문을 개행해 사과를 학교로 나눈 나머지 값을 정답 변수에 추가해 준다.for문 종료 후 정답 변수를 출력해 주면 된다. 참고 사항학교와 사과는 1이상의 수 이므로 0으로 나누어질 염려는 할 필요 없다.  정답 코드#include #include using namespace std;int main() { int n; cin >> n; int ans = 0; for (int i = 0; i > s >> a; ans += a % s; } cout

728x90
반응형