본문 바로가기

전체 글199

[백준]9663N-Queen c++ 1학년 때 수업 교재에 있었는데 못풀었던 기억이 있다. 이번엔 잘 풀려서 뿌듯했다. n-queen은 가로,세로,대각선 방향 (2개) 에 하나의 퀸이 들어가야하는 문제이다. 가로,세로,대각선 두방향을 체크해줄 배열을 총 4개 만든다. 예를 들어 4 퀸이고 좌표가 2,3에 있다면 numX[2],numY[3],check[2+3],check2[4-1+2-3] 에 체크를 해주면 된다. 백트래킹을 통해서 경우의수를 세어주면 된다. #include using namespace std; int N;//N 1~14 bool numX[16],numY[16]; int cnt; int check[31],check2[31]; // 4퀸 /방향 대각선 x+y=0,1,2,3,4,5,6,7 \ 방향 대각 N-1 +x-y= 7,6 v.. 2022. 3. 19.
[백준] 9095 1, 2, 3 더하기 c++ 처음에 보자마다 dp라는 것도 몰랐고..^^ 규칙 찾는것도 오래 걸렸다. 2부터 dp를 사용하려고 했던것이 문제였다. 1,2,3 을 구해놓고 해야했던것.. 이렇게 저렇게 해봤는데 중복되는 조합이 생겨서 해맸다. 결론은 n-1경우의 수 +1 ex) n=4 3 +1 , 1 2 +1 , 2 1 + 1 , 1 1 1 +1 4개 n-2경우의 수 +2 1 1 +2 , 2 + 2 2개 n-3경우의 수 +3 1 + 3 1개 으로 구하면 된다. #include using namespace std; int num[12]; // 처음에 문제 보고 어떻게 풀어야하지 고민하다가 알고리즘 분류를 봤는데 dp.. 생각을 못했다. int main() { int T; cin >> T; num[1] = 1; num[2] = 2; num.. 2022. 3. 19.
[백준] 11399 ATM c++ 처음에 운영체제에서 배웠던 프로세스 대기 시간 계산하는 거 생각나서 어렵게 생각했다. 줄서는 사람이 언제 줄 서기 시작했는지 조건이 없기 때문에 쉬웠다. 돈 인출하는데 시간이 적게 걸리는 순으로 줄을 서면 된다! #include #include using namespace std; int n; int person[1001]; //들어오는 시간을 고려하지 않아도 되어서 쉬웠던 문제 int main() { cin >> n; for (int i = 0; i > person[i]; } sort(person, person + n); int sum = 0,ans=0; for (int i = 0; i < n; i++) { sum =(sum+ person[i]); ans += sum; }.. 2022. 3. 17.
[백준]11066파일 합치기 보호되어 있는 글 입니다. 2022. 3. 17.