728x90
반응형

알고리즘 107

[백준/수학/C++] 17427번 약수의 합 2

https://www.acmicpc.net/problem/17427 17427번: 약수의 합 2 두 자연수 A와 B가 있을 때, A = BC를 만족하는 자연수 C를 A의 약수라고 한다. 예를 들어, 2의 약수는 1, 2가 있고, 24의 약수는 1, 2, 3, 4, 6, 8, 12, 24가 있다. 자연수 A의 약수의 합은 A의 모든 약수를 더 www.acmicpc.net #include using namespace std; long long int f[1000001] = {0,}; long long int g[1000001] = {0,}; int main(void) { ios::sync_with_stdio(0); cin.tie(0); int n; cin >> n; int j=1; for (int i = 1..

[백준/수학/C++] 1037번 약수

https://www.acmicpc.net/problem/1037 1037번: 약수 첫째 줄에 N의 진짜 약수의 개수가 주어진다. 이 개수는 50보다 작거나 같은 자연수이다. 둘째 줄에는 N의 진짜 약수가 주어진다. 1,000,000보다 작거나 같고, 2보다 크거나 같은 자연수이고, 중복되 www.acmicpc.net #include using namespace std; int main(void) { ios::sync_with_stdio(0); cin.tie(0); int n; vector v; cin >> n; for(int i=0; i> x; v.push_back(x); } sort(v.begin(), v.end()); if(v.size()==1) cout

[백준/완전탐색/C++] 4375번 1 *

https://www.acmicpc.net/problem/4375 4375번: 1 2와 5로 나누어 떨어지지 않는 정수 n(1 ≤ n ≤ 10000)가 주어졌을 때, 1로만 이루어진 n의 배수를 찾는 프로그램을 작성하시오. www.acmicpc.net 테스트케이스 숫자 대신 입력이 종료될 때까지 입력받는 방법 while(cin>>n){ } (A+B)%C = (A%C + B%C)%C 사용 #include using namespace std; int n; int result; int main(){ while(cin >> n){ int ans = 1; result = 1; while(1){ if(ans % n == 0) break; else { result++; ans = ans*10 + 1; ans %= n..

[백준/백트래킹/C++] 14888번 연산자 끼워넣기 (삼성 SW 역량 테스트 기출)

문제집: 삼성 SW 역량 테스트 기출 문제 (baekjoon) www.acmicpc.net 14888번: 연산자 끼워넣기 첫째 줄에 수의 개수 N(2 ≤ N ≤ 11)가 주어진다. 둘째 줄에는 A1, A2, ..., AN이 주어진다. (1 ≤ Ai ≤ 100) 셋째 줄에는 합이 N-1인 4개의 정수가 주어지는데, 차례대로 덧셈(+)의 개수, 뺄셈(-)의 개수, www.acmicpc.net 문제풀이 방법 1. 더하기, 빼기, 곱하기, 나누기를 각각 1, 2, 3, 4 로 지정하여 구별한다 2. n-1개의 연산으로 수열을 만든다 3. 계산 (처음에 음수는 생각을 못하고 maxVal = 0으로 초기화했더니 틀렸다,, 넓게 생각하기!!) input() 함수 설명 void input(){ cin >> n; for..

[백준/백트래킹/C++] 14889번 스타트와 링크 (삼성 SW 역량 테스트 기출)

문제집: 삼성 SW 역량 테스트 기출 문제 (baekjoon) www.acmicpc.net 14889번: 스타트와 링크 예제 2의 경우에 (1, 3, 6), (2, 4, 5)로 팀을 나누면 되고, 예제 3의 경우에는 (1, 2, 4, 5), (3, 6, 7, 8)로 팀을 나누면 된다. www.acmicpc.net #include #include using namespace std; int ss[21][21]; int n; bool isused[21]; int result = 2e9; void count(){ vector s, l; int stot = 0, ltot = 0; for(int i=1; i

[백준/백트래킹/C++] 퇴사 (삼성 SW 역량 테스트 기출)

문제집: 삼성 SW 역량 테스트 기출 문제 (baekjoon) www.acmicpc.net 14501번: 퇴사 첫째 줄에 백준이가 얻을 수 있는 최대 이익을 출력한다. www.acmicpc.net #include #include using namespace std; int n; vector t, p; int result = 0; void work(int k, int tot){ // k일에 일 시작함, total 금액 int day = k + t[k]; // 다음 일할 수 있는 날 if(tot > result && day = n) return; for(int i=day; i> n; for(int i=0; i> x >> y; t.push_back(x); p.push_back(y); } for(int i=0; i

[백준/구현/C++] 14503번 로봇 청소기 (삼성 SW 역량 테스트 기출)

https://www.acmicpc.net/workbook/view/1152 문제집: 삼성 SW 역량 테스트 기출 문제 (baekjoon) www.acmicpc.net https://www.acmicpc.net/problem/14503 14503번: 로봇 청소기 로봇 청소기가 주어졌을 때, 청소하는 영역의 개수를 구하는 프로그램을 작성하시오. 로봇 청소기가 있는 장소는 N×M 크기의 직사각형으로 나타낼 수 있으며, 1×1크기의 정사각형 칸으로 나누어 www.acmicpc.net 문제 해결 방법 1. 동서남북 방향으로 움직을 dx, dy 배열 만들기 2. 청소했을 때 map[x][y]=2 를 해주고, 벽인 경우와 청소한 경우 체크하는 함수 만들기 3. 조건을 나누어 코드짜기 3-1. 4면 회전하고 후진 가..

[백준/구현/C++] 3190번 뱀 (삼성 SW 역량 테스트 기출)

https://www.acmicpc.net/workbook/view/1152 문제집: 삼성 SW 역량 테스트 기출 문제 (baekjoon) www.acmicpc.net https://www.acmicpc.net/problem/3190 3190번: 뱀 'Dummy' 라는 도스게임이 있다. 이 게임에는 뱀이 나와서 기어다니는데, 사과를 먹으면 뱀 길이가 늘어난다. 뱀이 이리저리 기어다니다가 벽 또는 자기자신의 몸과 부딪히면 게임이 끝난다. 게임 www.acmicpc.net 문제 해결 방법 1. 현재 위치를 담을 queue를 만들고 현재위치를 표시한다 (사과를 먹었을 때는 몸이 길어져서 pop()을 하지않고, 먹지 않았을때는 맨 끝 위치를 pop() 해준다) 2. 현재의 방향을 저장할 변수를 선언한다 3. 뱀..

728x90
반응형