일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- msSQL
- @P0
- BFS
- 경력
- 소프티어
- 파라메트릭
- Docker
- dfs
- 백트래킹
- 처우산정
- 처우협의
- upper_bound
- incr
- compose
- boj #19237 #어른 상어
- 물채우기
- softeer
- Kafka
- 오퍼레터
- 기술면접
- 퇴사통보
- 13908
- 성적평가
- 매개변수탐색
- 백준
- BOJ
- OFFSET
- 연결요소
- 이분탐색
- 6987
- Today
- Total
목록알고리즘 문제 (501)
기술 블로그
https://www.acmicpc.net/problem/1978 에라토스테네스의 체이다. 살짝 잊었나 보다. 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859#include #include #include #include #include #include #include #include #include #include #include #include #include #pragma warning(disable:4996) #pragma comment(linker, "/STACK:336777216") using namespace std; bool prime[1001..
퇴사 = https://www.acmicpc.net/problem/14501 퇴사 2 = https://www.acmicpc.net/problem/15486 나중에 다시 풀어볼 문제이다. DP 연습에 좋다. 복습. 14501번 퇴사 문제의 경우 3가지 코드를 올리겠다.(사실상 2가지) 2번 코드처럼 N부터 시작하여 1로 가는 하향식 접근도 기억해야겠다. 3번 코드의 28번 째 줄이 n+1인 이유는 다음과 같은 이유가 있기 때문이다. 31 11 21 3오답 : 3정답 : 6 3 + T[3] = 4(n+1은 4이기 때문에 if문 진행)가 되고, backtracking(4) + P[3]에서 P[3]의 값도 구해야하기 때문(backtracking(4)는 0으로 return)이다.참고로, n+1이 아니라 그냥 n..
https://www.acmicpc.net/problem/15686 SW 역량 테스트를 대비할 겸 다시 풀어보았다. 38번 째 줄 실수를 했었다. 주석 참고할 것. 저번에 푼 코드 : https://hsdevelopment.tistory.com/103 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788#include #include #include #include #include #include #include #include #include #include ..
https://www.acmicpc.net/problem/15683 SW 역량 테스트 대비할 겸 처음부터 끝까지 혼자서 다시 풀어보았다. 그런데, 저번에 다른 분의 코드를 보고 참고하여 푼 코드와 크게 바뀌지 않았다. 괜히 풀었나...?? 저번 코드 : https://hsdevelopment.tistory.com/8 참고로 input() 함수의 매개 변수에서 cctvNumber는 필요 없다. 활용할 수 있을까하여 넣어봤었다. 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838..
https://www.acmicpc.net/problem/16988 BackTracking + BFS 문제이다. 참고로 이 코드에서 배열 크기를 1010으로 늘려, 16989번 Baaaaaaaaaduk2 (Hard) 문제에 제출하면, 시간 초과가 뜬다. Easy 문제를 살펴보면, simulation() 함수 안에서 MAX = max(MAX, s);는 이중 for문이 모두 끝난 뒤에 계산을 해야한다. 이는 아래의 예제를 통해 이유를 알 수 있다.(아래의 예제는 8 + 5 = 13이 나온다.) 만약 이중 for문 안에서 MAX = max(MAX, s);를 구현하면, 최댓값이 8이 나와버린다. 입력8 60 0 1 2 2 20 0 1 2 2 20 1 1 0 2 21 2 2 0 1 11 2 2 1 0 01 2 1..
https://www.acmicpc.net/problem/16945 백트래킹 문제이다. 거의 풀렸다고 생각했는데 잘 안 풀렸다. 나는 미리 만들어진 배열을 활용하였기 때문이다.(진작 찾는 방식으로 하였으면 바로 풀렸을텐데 아쉬웠다.) 다른 분의 코드의 힌트를 참고하여 풀었다. 마침 내가 구현한 코드 및 구현 방식 그리고 생각과 거의 유사하여 바로 풀 수 있었다. 난이도는 엄청 어렵지는 않았다. 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929..
https://www.acmicpc.net/problem/16936 vector 배열을 활용하려고 하였는데, 숫자의 범위가 10^18까지 활용하는 바람에 pair로 구현하였다. 시간 초과 날 줄 알았는데, 안 났다. 다른 분은 two, three 변수를 활용하여 % 3 == 0, % 2 == 0을 활용해 sort하였다. 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172#include #include #include #include #include #include #include #include #include #i..
https://www.acmicpc.net/problem/6087 나중에 다시 풀어 볼 문제이다. 만만하게 봤다가 큰 코 다친 문제이다. 단순히 거울의 개수가 더 적을 때, 갱신만 해주면 되는 줄 알았는데, 그게 아니었다. 우선 신경써야할 것은 while(!q.empty()){}에는 어떠한 종료 조건을 넣어서는 안 되고, 방향을 제대로 활용해야하며(dx, dy, i, direct 등), 88번 째 줄을 조심해야 한다. 또한, 본격적인 BFS 전에 출발지점에서 4가지 방향을 모두 queue에 넣어줘야한다. 계속 예제와 질문게시판의 반례가 해결되지 않아서 다른 분의 코드를 참고하였다. 몇 시간 동안 붙잡고 있었는지 모르겠다. 최소 8시간 인 듯 하다. 88번 째 줄은 아래와 같은 예제 때문에 >=로 써줘야 ..