방학동안 백준 사이트에서 문제 > 단계별로 풀기 순서대로 매일 풀어보기로 마음먹었다. 쉬운문제부터 시작해서 부담없이 시작하면 꽤 큰 성과를 거둘거 같다!백준 2588번 : 곱셈백준 2884 : 알람시계백준 4344번 : 평균은 넘겠지한번에 모든 케이스와 점수들을 입력하
1152번 : 단어의 개수string 타입을 사용하여 getline 함수를 통해 공백을 포함한 문장을 받았다그런데 틀렸습니다 라는 답을 받게되었다!실행은 예제와 같게 잘 되는데 왜일까..!!그래서 char타입으로 문장을 받아보기로 했다. cin.getline을 사용하여
1712번 : 손익분기점처음에는, x값에 해당하는 물건의 갯수가 늘어날 수록, 물건판매수입이 증가하는 정도보다 총 비용이 증가하는 정보보다 적다면 손익분기점이 발생할 수 없다고 판단하여 예외처리를 실시하였다.그랬다니 틀렸다는 답을 얻고... 더 간단한 방법을 찾을 수
2477번 : 별 찍기한줄에 해당하는 포문을 돌면서 빈공간을 찾아내는데, 그것이 i/num 을 3으로 나눈 나머지가 1일 경우이다.1, 4, 7 ...그리고 num을 3을 나누어주며 재귀를 진행한다.
2231번 : 분해합입력받은 N값보다 작은 값들을 모두 분해값으로 계산하여 N값과 일치하는 합이 나온다면 출력한다.2798번 : 블랙잭입력된 모든 숫자들 중 3개만을 뽑아내기 위해 순서대로 3중포문을 돌려 차례대로 더해준다. 이때 첫번째 선택지인 i 는 뒤에 선택될 두
1018번 : 체스판 다시 칠하기우선, 입력받은 크기만큼 사용자에게 색상을 입력하도록함과 동시에 비교할 샘플 arr 를 입력한다. 두 arr가 존재하는데 하나는 제일 왼쪽 위가 B인것, 하나는 제일 왼쪽위가 W인것이다. 각 arr의 크기는 8\*8이다.사용자가 입력한
1427번 : 소트인사이드2750번 : 수 정렬하기11650번 : 좌표 정렬하기처음에는 모든 좌표들을 비교하여 swap해주는 반복문을 짜주었다. 그랬더니 계속 시간초과가 나서 < algorithm >라이브러리에 있는 sort함수를 사용하여 간결하게 하고, 마지막
1181번 : 단어 정렬위 방법대로 하니 시간초과가 발생하였다. 20000개의 단어를 일일히 비교하게 되므로 시간안에 단어를 비교하기는 무리일 것이다.따라서 algorithm 라이브러리의 sort함수를 이용하고 vector를 통해 입력된 수만큼만 push 하게끔 하여
15649번 : N과 M(1)먼저 visited배열을 설정하여 살펴본 숫자인지 bool을 저장한다. cnt 가 M에 도달하기 전까지 arr의 각 인덱스에 순서대로 i 를 저장하고, visited에 방문했다는 표시로 true로 바꾸어 준다. 그리고 cnt ==M이 되면
15650번 : N과 M(2)💡15649번 : N과 M(1) 풀이15649번과 다른점은 순열이 아닌 조합을 구하는 문제로, 중복된 숫자를 선택해서는 안된다. 따라서 15649번의 dfs 함수에서 선택을 시작할 숫자를 따로 파라미터로 받아 for문을 돌려야 한다!156
14888번 : 연산자 끼워넣기입력받은 연산자 갯수를 기반으로 모두 조합하여 최댓값과 최소값을 구해 출력하는 문제이다! 재귀함수를 통해 연산을 하고 파라미터로 넘겨주며 결과값을 도출하는 방식으로 진행하였다.max와 min 을 각각 결과값과 비교하여 max min을 설정
전체 문제를 작은 문제로 단순화한다. -> 부분 문제를 정의한다.재귀적인 구조를 활용할 수 있는 점화식을 만든다. -> 점화식을 만든다.작은 문제를 해결한 방법으로 전체 문제를 해결한다. -> 문제를 해결한다.전체 문제를 작은 문제로 단순화한 다음 점화식으로 만들어 재
9183번 : 신나는 함수 실행동적 계획법을 사용하여 구현해 주었다. w 함수를 도출하기 위해 매번 재귀를 불러와 시간을 증가하기 대신, 그때그때 각 상태에서의 함수값을 arr\[]에 저장하여 필요할 때 불러주었다. 그 외 함수 형태는 문제에서 그대로 주어져 비교적 쉬
1541 > 1541번 : 잃어버린 괄호 > ### 🎈 해결방법 stoi(const string& str) string을 int 타입으로 바꿔주는 함수, & (reference)를 이용해서 string을 넘겨주며, `else temp += str[i];` 현
1531번 : 투명이 문제를 이해하려고 몇번을 읽었는지 모르겠다.. 정답률도 81%로 매우 높은데 왜이렇게 이해가 안됐는지.. 몇번을 읽다가 그림으로 그리니 바로 이해가 됐다! 그림판으로 그려봤다먼저 첫번째 줄에 몇개의 종이로 가릴건지를 입력하고, 몇번 종이가 겹치면
1463번 : 1로 만들기우선, 각 숫자마다 필요한 연산횟수를 저장한 arr를 만들어준다. 인덱스 1부터 순서대로 올라가며 각 상황에서 최소횟수를 판단하여 arr에 저장하는 것이다. 그림을 그리며 이해하면 더 쉽다!역으로 각 경우를 생각하여 algorithm 헤더의 m
11052번 : 카드 구매하기먼저, arr\[]배열에 각 카드팩 금액을 저장하고, p\[]배열에는 해당 인덱스에 해당하는 카드 수를 뽑을때 최대 금액을 저장한다. 인덱스 0은 0으로 초기화 해주고, 순서대로 숫자들을 조합하며 max함수를 사용하여 비교해 최댓값을 p에
5086번 : 배수와 약수1037번 : 약수
2609번 : 최대공약수와 최소공배수11050번 : 이항계수 1
9095번 : 1,2,3 더하기