본문 바로가기

분류 전체보기52

1978. 소수 찾기 1. Solution 내가 문제를 해결한 방법은, "2부터 n-1 수로 나누어 떨어진다면 소수가 아니다" 를 이용하여 해결하였다. 에라토스테네스 방법을 통하여 더 쉽게 해결 가능하다. // 2 ~ n-1 의 수로 나눠떨어지는지 확인하는 방법으로 구현 #include #include using namespace std; int N; vector nums; int primeCount(vector num){ int count = 0; for(int i = 0; i < num.size(); i++){ // 소수는 1보다 큰 자연수 중, 1과 자신만을 약수로 가지는 수이다. if(num[i] == 1) continue; bool isPrime = true; for(int d = 2; d < num[i]; d++).. 2022. 4. 6.
[프로그래머스] 완전탐색 - 모의고사 C++로 해결하였다. 1. Solution #include #include #include using namespace std; int stu1[5] = {1, 2, 3, 4, 5}; int stu2[8] = {2, 1, 2, 3, 2, 4, 2, 5}; int stu3[10] = {3, 3, 1, 1, 2, 2, 4, 4, 5, 5}; vector solution(vector answers) { vector answer; int score[3]; fill(score, score + 3, 0); // 문제 체점 for(int i = 0; i < answers.size(); i++){ if(answers[i] == stu1[i % 5]) score[0] += 1; if(answers[i] == stu2[i.. 2022. 4. 3.
[KaKao 기출] 직사각형 좌표 값 구하기 #kakao #코딩테스트 비트 연산자(XOR)을 사용하면 간결하게 작성되는 문제이다. 1. Solution #include #include using namespace std; int x, y; vector solution(vector v) { vector ans; x = v[0][0]^v[1][0]^v[2][0]; y = v[0][1]^v[1][1]^v[2][1]; ans.push_back(x); ans.push_back(y); return ans; } 2. 비트 연산자 XOR 연산 (^): 연산을 수행하는 두 값이 같으면 같은 값을, 다르면 다른 값을 반환한다. A B A^B 1 1 0 1 0 1 0 1 1 0 0 0 AND 연산 (&): 연산을 수행하는 두 값 모두 True 이여야만 True로 평가.. 2022. 3. 11.
[삼성기출] 나동빈 - C++ Q16 연구소 DFS 문제이다. 풀이 모든 좌표를 방문해서, 바이러스를 막기 위한 벽을 설치하자. 1) (0, 0) 부터 map 의 빈칸에 벽을 설치한다. 2) 벽 개수 * 3 이라면, 2-1) 바이러스 퍼뜨리기 2-2) 점수 매기기 2-3) 점수의 max 값을 저장하기 2-4) return 3) 벽을 설치한 칸을 빈칸으로 바꾼다. ... Last) (N, M) 까지 map 의 모든 좌표를 방문했을 때 DFS() 는 종료한다. 1. Solution 코드 #include #include using namespace std; int n, m; int arr[8][8]; // 초기 맵 배열 int temp[8][8]; // 벽을 설치한 뒤의 맵 배열 // 4가지 이동 방향에 대한 배열 int dx[] = {-1, 0, 1,.. 2021. 11. 11.