일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- OFFSET
- @P0
- 경력
- 물채우기
- compose
- 퇴사통보
- 처우산정
- 매개변수탐색
- Kafka
- msSQL
- 파라메트릭
- 이분탐색
- 오퍼레터
- BFS
- 소프티어
- 13908
- upper_bound
- 6987
- boj #19237 #어른 상어
- dfs
- 연결요소
- 성적평가
- Docker
- softeer
- incr
- 백트래킹
- 백준
- 처우협의
- 기술면접
- BOJ
- Today
- Total
목록전체 글 (629)
기술 블로그
https://www.acmicpc.net/problem/2891 '자신'의 카약은 빌려줄 수 없고, '여분'의 카약만 빌려줄 수 있다. 우선 1로 세팅하고, (본인의 카약) 부서진 카약의 팀은 1을 감소시키고, (0으로 변함) 여분이 있는 팀은 1을 증가시킨다. (2 또는 1로 변함) 그리고 for(1 ~ n)문을 통해서 해당 i팀이 가지고 있는 카약의 개수가 0일 때 i - 1, i + 1, i == n 위의 3가지 경우를 고려해준다. 1. i - 1번 째 팀이 가지고 있는 카약의 개수가 2 일 때, i - 1번 째 팀에게 하나 빌린다.2. i +1번 째 팀이 가지고 있는 카약의 개수가 2 일 때, i + 1번 째 팀에게 하나 빌린다.3. n - 1번 째 팀이 가지고 있는 카약의 개수가 2 일 때, ..
https://www.acmicpc.net/problem/18859 onjo0127님의 반례 덕분에 맞았다. 61 2 3 4 7 10정답 : Yes예시 : 3 2 1 4 7 10 아이디어 : multiset을 통해 vector sort를 활용한다. 입력을 통해 multiset과 vector에 데이터를 넣는다.(입력으로 주어지는 것들) vector v를 오름차순 sort를 한 후, 공차(d)를 구한다. d = v[1] - v[0]; 그리고, multiset을 통해 어떤 한 수열을 구한다. 구하는 방식은 Start = v[0] + d를 놓고, Start += d를 해주면서 multiset에 Start가 있으면 multiset에서 제거해준다. 즉, 공차가 d인 수열은 모두 제거된 것이다.(첫 원소(v[0])는..
https://programmers.co.kr/learn/courses/30/lessons/60062 카카오 kakao 백트래킹 BruteForce 브루트포스 기출 복습 구현 필수 추천 코테 코딩 프로그래머스 2020 KAKAO BLIND RECRUITMENT 처음에 bitmask + dp로 풀려다가 인덱스를 몇 차원으로 해야할지 무엇으로 구성해야할지 헷갈려서 그냥 Backtracing으로 접근하였다. 핵심은 모든 경우의 수(조합)에 대하여 vector v를 구성한다. 그리구, 구성한 vector v에 대하여 또 다시 weak에서 출발점을 달리하여 새로운 weak(temp)를 구성한다.(temp = 새로운 weak) 예시) weak = {3, 5, 7, 9}, n = 12라고 하고, 출발점을 7로 한다면..
https://www.acmicpc.net/problem/17281 삼성 boj 백준 SW역량테스트 시뮬레이션 구현 simulation 복습 필수 코딩 테스트 코테 추천 생각 논리 야구 시간초과 벡터 처음에는 문제의 예제 3과 4를 이해하기 어려웠다. 핵심은 1. 직접 경기를 뛰는 타자의 '치는 순서'(선수의 번호가 아니다.)는 이닝이 바뀌어도 그 순서(치는 순서)는 유지한다. 2. 0번 선수는 3번 자리로 고정되어 있다.(문제에서는 1 ~ 9번 이지만, 0 ~ 8번으로 구현하였다.) 3. vector보다는 일반 배열이 훨씬 빠르다. 위의 3가지만 주의하면 풀 수 있다. 나는 첫 번째 제출에서 시간 초과를 받았다. 그 후 vector를 일반 배열로 바꾸어 제출하였더니 맞았다. vector의 연산은 느리기..
https://www.acmicpc.net/problem/6236 이분 탐색 ps 파라메트릭 서치 이진 탐색 복습 코딩 코테 추천 필수 생각 문제 이해 처음에 문제를 잘 이해하지 못 했다. 문제에서 요구하는 것(정답)은 무조건 통장에서 K원만 인출한다. 그리고, 그 K원을 가지고 입력으로 주어지는 하루에 사용할 금액과 비교한다. 그렇게 계속 계속 사용하다가 어느 순간 돈이 모자를 때에는 남은 돈(내 코드에서의 money)은 무시하고, 다시 K원을 인출한다. 인출할 때마다 인출 횟수(cnt)를 1 증가시킨다. 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859#i..
https://programmers.co.kr/learn/courses/30/lessons/60063 2020 KAKAO BLIND RECRUITMENT 카카오 bfs 구현 처음 풀었을 당시에 못 풀었던 문제이다. 내가 작성 중이었던 코드를 보니 map까지 활용하고 있었다. 왜지? 하여튼 오늘 다시 풀어봤는데 한 번에 통과하였다. 핵심은 ㅡ과 | 모양에 따른 구현을 다르게 해주고, 각각의 모양에서도 어떤 위치를 중심축으로 정할 것이고 또한, 그 중심축에서도 어느 방향으로 회전할 것인지에 대한 BFS를 구현하면 된다. 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575..
https://www.acmicpc.net/problem/1802복습 생각 비슷한 문제 : https://hsdevelopment.tistory.com/517 겹쳐지는 부분의 합은 반드시 1이다. 즉, 서로 같으면 안 된다. 이때, 가운데 값은 비교하지 않는다. 가운데 값은 0, 1 중 아무 숫자나 와도 상관없다. 그저 겹쳐지는 부분만을 비교하면 된다. 예를 들어,1101100 일 때는 (인덱스 숫자로 나타내었음. [0] ~ [6]) [0] vs [6][1] vs [5][2] vs [4] 비교하고, [0] vs [2] 를 비교하면 된다. 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051#..
https://www.acmicpc.net/problem/2804 단순 구현 문제이다. 우선 단어 A에서 나온 '문자'를 use 배열을 통해 true와 그 위치를 저장하고단어 B에서도 앞에서부터 하나씩 꺼내어 use.first가 true면 또 그 위치를 저장하고 바로 break한다. 그리고 A와 B의 길이를 각각 열과 행의 길이로 활용하여 위에서 저장한 2개의 위치와 잘 비교하여 출력한다. 이때, 주의할 것은 첨부한 코드의 40번 째 줄이다. 단어 A를 출력한 후 jidx를 1 증가시켜야 중복 없이 출력할 수 있다. 처음과 두 번째 제출에서 틀렸는데, 문제에서 그런 글자가 여럿인 경우 A에서 제일 먼저 등장하는 글자를 선택한다. 라는 부분을 놓치고 있었다. 12345678910111213141516171..