본문 바로가기

백준23

[백준]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.
[백준] 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.
[백준] 2630 색종이 만들기 c++ 옆에 종이랑 비교하다가 다르면 n을 2로 나누고 재귀로 풀자 라고 생각했었고 두번 헤맸다. 첫번째는 n*n블록 안에 하나라도 다른 색깔이 있는지 없는지가 중요한거지 옆에 종이랑 다른것이 중요한 것이 아니었다. 그래서 이중 for 문을 통해 옆에 종이랑 비교하려다 보니까 이미 자른 종이를 또 잘랐다^^ 두번째는 1,1 부터 검사하고 1,3 -> 3,1 -> 3,3 순으로 검사하고 싶었는데. 재귀를 어떻게 해야할지 몰라서 헤맸다. 그냥 함수 호출을 4번하면 됐었던 것..^^ 최종 풀이 : y,x 부터 가로, 세로 크기가 n인 정사각형 범위에서 1이면 cnt를 증가 시킨다. cnt==0이면 전부 0만 들어가 있는 것이므로 white++ cnt==n*n이면 전부 1만 들어가 있는 것이므로 blue++ 둘 다 아.. 2022. 3. 10.