일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 소프티어
- Kafka
- 백트래킹
- OFFSET
- incr
- 경력
- boj #19237 #어른 상어
- 처우산정
- 13908
- 연결요소
- 백준
- 오퍼레터
- 물채우기
- 기술면접
- 처우협의
- Docker
- upper_bound
- BOJ
- 이분탐색
- msSQL
- @P0
- softeer
- BFS
- dfs
- 파라메트릭
- 성적평가
- 매개변수탐색
- compose
- 퇴사통보
- 6987
- Today
- Total
목록알고리즘 문제 (501)
기술 블로그
https://www.acmicpc.net/problem/16234 최근 다시 푼 코드 : https://hsdevelopment.tistory.com/226 2018년 하반기 삼성 SW 역량 테스트 문제이다. 하루에 인구 이동이 여러 번 발생할 수 있다는 것만 알면 나름 쉽게 풀 수 있는 문제이다. 즉, for문을 통해 조건에 맞는 국가들이 있으면 DFS 함수를 실행한다. 그리고, DFS 호출이 한 번 끝날 때 마다, 인구 이동을 시킨다. 위에 처럼 작성하였다. 참고로 visit(방문 여부)가 있기 때문에, 하루에 여러 번 인구 이동이 발생하여도 서로 영향을 끼치지 않는다. (코드가 좀 더러워 보인다. 나중에 시간이 날 때, 좀 더 간결하게 고쳐보도록 해야겠다.) 1 2 3 4 5 6 7 8 9 10 ..
길이가 N인 자연수를 입력하였을 때, 그 길이에 해당하는 이진수를 모두 출력하시오.(단, N은 10보다 같거나 작은 자연수) 입출력 예시 1200011011 입출력 예시 23000001010011100101110111 C언어 코드1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162#include #include #include #include #include #include #include #include #include #include using namespace std; int ans[50] = { 0, }; int N = 0; int index =..
https://www.acmicpc.net/problem/16236 최근에 다시 푼 코드 : https://hsdevelopment.tistory.com/225 2018년 하반기 삼성 SW 역량 테스트 문제이다. 생각보다 오래 걸렸는데, 이미 v안에 있는 것들은 먹을 수 있는 것이라서 굳이 크기를 비교할 필요가 없었다. 나는 무식하게 for문 안에서 먹이의 크기까지 비교했었다. 덕분에(?) vector 안에도 pair를 2개 선언했었다. 코드가 2개인데, 하나는 그냥 for문을 활용해 먹이를 찾는 것이고, 다른 코드는 sort를 활용한 것이다. 나중에 시간 된다면, vector v; 가 정렬이 어떻게 되는지 알아봐야겠다.위치도 바꿔서 알아봐야겠다. for문 활용123456789101112131415161..
https://www.acmicpc.net/problem/2869 예제 및 다른 테스트 케이스들을 활용하여내가 생각한 과정을 적으면서 코드를 작성하였다. 아래는 내가 생각한 과정 케이스들이다. 3 1 6답 36 - 3 = 33 - 1 = 23 / 2 = 11*(3 - 1) + 3 >= 6 ? No 2 1 5답 45 - 2 = 32 - 1 = 13 / 1 = 33 * (2 - 1) + 2 >= 5 ? Yes 그렇다면 3 + 1 5 2 100답 33100 - 5 = 955 - 2 = 395 / 3 = 3131 * (5 - 2) + 5 >= 98? No 4 2 100답 49100 - 4 = 964 - 2 = 296 / 2 = 4848 * (4 - 2) + 4 >= 100? Yes 그렇다면 48 + 1 1234..
유클리드 알고리즘이다. https://www.acmicpc.net/problem/2609 12345678910111213141516171819202122232425262728293031323334#include #include #include #include #include #include #include #include #include #include using namespace std; // 최소공배수 * 최대공약수 = p * q int gcd(int p, int q){ if (q == 0) return p; return gcd(q, p%q);} int main(void){ int p = 0, q = 0; scanf("%d %d", &p, &q); int GCD = gcd(p, q); printf("..
약수의 개수를 묻는 문제이다. https://www.acmicpc.net/problem/13225 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849#include #include #include #include #include #include #include #include #include #include using namespace std; #define MAX 10000 int C = 0; int Divisors[MAX + 1] = { 0, }; void getFactorsBrute(){ memset(Divisors, 0, sizeof(Divisors)); for (int i = 1; i
약수의 개수를 응용한 문제이다. https://www.acmicpc.net/problem/13226 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556#include #include #include #include #include #include #include #include #include #include using namespace std; #define MAX 10000000 int C = 0; int Divisors[MAX + 1] = { 0, }; void getFactorsBrute(){ memset(Divisors, 0, sizeof(Divisors)); f..
기본적인 구현 문제다. 문제 그대로 구현하면 된다. https://www.acmicpc.net/problem/4673 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263#include #include #include #include int num[10001] = { -1, }; void selfNumber(){ for (int i = 1; i