본문 바로가기

반응형

분류 전체보기

(142)
[백준][C++] 9184: 신나는 함수 실행 https://www.acmicpc.net/problem/9184 9184번: 신나는 함수 실행 입력은 세 정수 a, b, c로 이루어져 있으며, 한 줄에 하나씩 주어진다. 입력의 마지막은 -1 -1 -1로 나타내며, 세 정수가 모두 -1인 경우는 입력의 마지막을 제외하면 없다. www.acmicpc.net - 문제 주어진 재귀함수를 그대로 만들면 어마어마한 실행시간이 필요하기에, 실행시간을 줄일 방법을 찾는 문제다. - 해설 메모이제이션이라는 것을 이용하면 된다. 매개변수 값이 (1,1)인 재귀함수에 한 번 접했더라도, 이 값을 저장하지 않으면 다른 경우에 또 (1,1)을 접하면 또 들어오게 된다. 하지만, 메모이제이션을 이용하면 (1,1)을 접했을 때 이 값을 저장하게 되어서 다음에 또 접하게 될때 ..
[백준][C++] 9663: N-Queen https://www.acmicpc.net/problem/9663 9663번: N-Queen N-Queen 문제는 크기가 N × N인 체스판 위에 퀸 N개를 서로 공격할 수 없게 놓는 문제이다. N이 주어졌을 때, 퀸을 놓는 방법의 수를 구하는 프로그램을 작성하시오. www.acmicpc.net - 문제 N * N 크기의 체스판 위에 퀸 N개를 서로 공격할 수 없게 놓을 수 있는 방법의 수를 구하는 문제다. - 해설 queen까지는 만들었는데, check을 할때 대각선을 어떻게 해야 할 지 생각을 못해서 check는 다른 사람꺼를 조금 참고했습니다. y의 차이가 x의 차이랑 같으면 대각선이다 라는걸 생각 못해서 for문 두개 돌려서 찾고 있었네요. - 풀이 #include using namespace s..
[백준][C++] 15652 : N과 M (4) https://www.acmicpc.net/problem/15652 15652번: N과 M (4) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net - 문제 1부터 N까지 자연수 중에서 조건을 만족하는 M개를 고르는 수열을 찾는 문제다. - 해설 N과 M (2)에서 visitied를 빼면 이 문제가 나온다고 볼 수 있다. - 풀이 #include using namespace std; int N, M; int arr[10] = { 0, }; void dfs(int cnt, int now) { if (cnt == M) { for (int i =..
프로그래머스 카펫 C++ 프로그래머스 : 카펫 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr - 문제 카펫이 주어지면 카펫의 x,y 크기를 구하는 문제다. - 풀이 #include #include using namespace std; vector solution(int brown, int yellow) { vector answer; int all = brown + yellow; for(int i = 3; i < 2000; i++){ for(int j = 3; i * j
면접 준비 다음 주 금요일(22/10/28)에 면접이 잡혀가지고 면접 준비 해야 해서 잠시 동안 백준이랑 프로그래머스 2 문제씩 빼고 쉴 것 같네요! 면접 준비 열심히 해서 꼭 붙도록 하겠습니다!!!!!!
프로그래머스 다음 큰 숫자 C++ 프로그래머스 : 다음 큰 숫자 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr - 문제 n보다 크면서 이진수로 바꾸었을 때 1의 개수가 같은 숫자를 찾아내는 문제다. - 풀이 #include #include using namespace std; int solution(int n) { int answer = 0; int now2 = 0, next2 = 0, temp; temp = n; while(temp != 0){ if(temp%2 == 1){ now2++; } temp /= 2; } while(1){ temp = ++n; next2 = 0; while(t..
[백준][C++] 15649 : N과 M (3) https://www.acmicpc.net/problem/15651 15651번: N과 M (3) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net - 문제 1부터 N까지 자연수 중에서 중복 없이 M개를 고르는 수열을 찾는 문제다. - 해설 이건 이전의 (1) 과 (2)와는 다르게 visitied 필요 없이 그냥 모두 출력하면 된다. - 풀이 #include using namespace std; int N, M; int arr[10] = { 0, }; void dfs(int cnt) { if (cnt == M) { for (int i = 0..
[백준][C++] 15649 : N과 M (2) https://www.acmicpc.net/problem/15650 15650번: N과 M (2) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net - 문제 1부터 N까지 자연수 중에서 중복 없이 M개를 고르는 수열을 찾는 문제다. - 해설 visited를 똑같이 사용하면 되는데, 이전에 N과 M (1)과는 다르게 반복문을 1부터가 아니라 now라는 변수를 둬서 now부터 시작해야 한다. - 풀이 #include using namespace std; int N, M; int arr[9]; bool visited[9] = {0}; void d..

반응형