일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- DirectX
- count triplets
- dp
- lock based stack
- special string again
- pccp 기출문제 풀이
- making anagrams
- lock based queue
- the maximum subarray
- find the running median
- pcce 기출문제 풀이
- 지게차와 크레인
- two characters
- ice cream parlor
- boj 1717
- boj 1074
- DirectX12
- find the town judge
- boj 6443
- string construction
- 프로그래밍공부
- boj 11657
- lock free stack
- PCCE
- 브루트포스
- 2025 프로그래머스 코딩챌린지 1차예선
- 비밀 코드 해독
- c++
- the longest increasing subsequence
- LCS
- Today
- Total
목록오구의 코딩모험 (116)
오구의코딩모험

https://school.programmers.co.kr/learn/courses/30/lessons/388353 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 문제 3줄 요약1. n x m 크기의 물류창고에 출고 방식은 지게차와 크레인 두 가지가 있다.2. 지게차는 외부와 접근할 수 있는 경우 / 크레인은 어느 것이든 접근해서 꺼낼 수 있다.3. 출고 요청이 끝나고 난 후, 남은 물류 컨테이너 수를 출력해라. 물류 창고 컨테이너 적재량(= n)은 최대 50,컨테이너 길이(= m)의 최대 또한 50이다. 출고 요청은 최대 100개이며,알파벳 한 개로 구성된 요청은 지게차,알파벳 두 개로 구성된 요..

https://www.acmicpc.net/problem/6443 문제 3줄 요약1. 씬디는 애너그램 프로그램을 만들어 줄 수 있는 남자가 좋다.2. 애너그램은 입력받은 문자열의 단어들을 재배치한 단어들을 출력하는 것이다.3. 재배치한 문자열의 중복은 제외하고 알파벳 순서로 출력해라. 예시를 보면 바로 이해가 가능하다. (입력) abc → (애너그램) → (출력) abc acb bac bca cab cba abc가 입력으로 주어지면a 1개, b 1개, c 1개로 만들 수 있는 문자열들을 출력하면 된다. 출력할 때알파벳 순서대로 출력해야하니 위와 같이 순서로 출력된다. 문자열의 최대 길이가 21이라고문제에 조건으로 주어졌다. 따라서 완전 탐색은 불가능하기에조합 함수를 사용하거나백트래킹을 통한 탐색이 필요..

https://school.programmers.co.kr/learn/courses/30/lessons/388352 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 문제 3줄 요약 1. 비밀 코드는 1 ~ n까지의 서로 다른 정수 5개 (오름차순)이다.2. 이 비밀 코드를 맞추기 위해 m 번의 시도를 하며, 몇 개 맞췄는지 알려준다.3. 시도한 결과를 보고 비밀 코드로 가능한 정수 조합의 개수를 출력하자. 제한 사항을 보니조합의 개수가 최대 30C5 (약 14만개)이다. 따라서 브루트포스 알고리즘을 이용해도풀 수 있을 것이라 생각했고 그 결과..무식하게 5중 포문을 작성했다. 하지만 값을비교하는 과..

https://school.programmers.co.kr/learn/courses/30/lessons/388354 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 문제 3줄 요약1. 루트 노드에 따라 홀수 / 짝수 / 역홀수 / 역짝수 노드가 정의된다.2. 트리는 어떤 노드를 루트로 설정하느냐에 따라 홀짝 / 역홀짝 트리가 모두가 될 수 있거나 모두가 될 수 없을 수 있다.3. 각 트리에 대해 루트 노드를 설정했을 때, 홀짝 트리와 역홀짝 트리의 개수를 구하려 한다. 도대체 이게 무슨 소리일까.. 문제 자체가 참 읽으면서도 이해가 힘들어몇 번이고 되읽었다. 예시를 참고하니 이해에 조금이나마 도움이..

서버 개발에서 배우는 동기화 기법 서버 개발에서는 성능 최적화와 동기화를 위한 다양한 기법이 사용됩니다.이번 글에서는 volatile, SpinLock, Sleep, Event (Auto Reset Event / Manual Reset Event) 등의 학습한 내용을 정리합니다. int32 a=0;a = 1;a = 2;a = 3;a = 4;1. volatile: 컴파일러 최적화 방지volatile이란?- volatile 키워드는 컴파일러의 최적화를 방지하는 기능을 합니다. - 일반적인 코드에서 불필요한 대입 연산이 제거되지만, volatile을 선언하면 모든 연산이 실행됩니다. 예제 개념- 변수 a가 여러 번 대입되는 경우, 컴파일러는 불필요한 연산을 제거하여 최적화합니다. - 하지만 volat..

https://www.acmicpc.net/problem/20444 문제 3줄 요약1. 직사각형의 색종이를 가위로 자른다.2. 한 변에 평행하게 자르며, 자를 땐 멈추지 않고 자른다.3. n번의 가위질로 k개의 색종이로 자를 수 있는지 확인하는 코드를 작성하자. 예시를 통해 살펴보자! 4번의 가위질로 9개의 색종이를 만든다면? 위의 그림과 같이가로 2번, 세로 2번을 자른다면 9개의 색종이로 자를 수 있다. 따라서가로로 몇 번을 자르는지,세로로 몇 번을 자르는지에 따라서몇 개의 색종이로 나뉘어 지는지 계산이 가능하다. 계산식을 작성해본다면가로로 자른 횟수 : x세로로 자른 횟수 : 전체 가위질 - x색종이 수 = ( x + 1 ) * ( n - x + 1 )로 표현할 수 있다. 그럼 이 식을 어떤 ..

https://www.acmicpc.net/problem/20207 문제 3줄 요약1. 달력에 1년치 일정을 표시하려고 한다.2. 연속된 일자에 일정이 1개 이상 있다면, 이를 연속되었다고 표현한다.3. 연속된 일정을 하나의 직사각형에 포함하여 달력에 코팅지를 붙일 때, 코팅지의 넓이는? 구현 문제라서 그런가문제부터 길고 뭔가 조건이 좀 많아서 복잡해보인다... 예시를 보면서 이해해보자. 위와 같이 2일 ~ 12일까지 일정은아래의 보라색 코팅지를 붙일 수 있다. 2일 ~ 9일까지는 연속된 일정이기에하나의 직사각형으로 묶고 있고 11일 ~ 12일은따로 직사각형 모형으로 코팅지를 붙였기에 총 면적이 28 (= 24+4) 이다. 일단 일정이 주어졌을 때,위와 같이 달력과 같은 형태로 구현해보도록 하겠다. ..

https://www.acmicpc.net/problem/21921 문제 3줄 요약1. 운영하고 있는 블로그의 방문 기록이 있다.2. 블로그의 X일 동안 가장 많이 들어온 방문자 수와 그 기간을 알고싶다.3. 최대 방문자 수가 0이라면 "SAD" 슬픔을 표현하자 이번 문제는이중 포인터를 활용한 문제이다. 방문자 수를X일 동안의 방문자 수를 일자 별로 구해주기 보다는1일차 부터 X일 동안 더해준 값을 기반으로2일차 ~ 2+X일의 값을 구해주려고 했다. 말로는 어려우니 예시와 그림을 통해 살펴보자. 총 5일 간의 방문 기록 중2일 간 방문자의 수가 최대였을 때, 방문자의 수와 기간은 어떻게 될까? 정답은 3일 ~ 4일차 까지의 방문자 수 합인 7과방문자 수가 7인 기간이 하루 뿐이므로 1이 되겠..

https://www.acmicpc.net/problem/11053 문제 1줄 요약1. 수열 A의 가장 긴 증가하는 부분 수열을 구해라. 위와 같이 가장 긴 증가하는 부분 수열을최장 증가 부분 수열, LIS(Longest Increasing Subsequence) 라고 한다. LIS는DP와 이분 탐색 두 가지 알고리즘을 활용하여 풀 수 있다고 한다. 이번 문제에서는DP를 활용하여 풀어보고다음 글에서는 가장 긴 증가하는 부분 수열 2를 이분 탐색으로 풀고자 한다. 가장 긴 증가하는 부분 수열은문자 그대로 부분 수열이면서, 값이 점점 증가하는 형태를 띄고 있는 수열이다. ex) 수열 A = {10, 20, 10, 30, 20, 50}의 LIS는?{10, 20, 30, 50} 이 최장 증가 부분 수열이 될..

https://www.acmicpc.net/problem/9251https://www.acmicpc.net/problem/1958 문제 3줄 요약1. Longest2. Common3. Subsequence 오늘은 LCS(Longest Common Subsequence, 최장 공통 부분 수열) 문제를 풀어봤다. 최장 공통 수열은문제에도 설명되어있듯이 두 수열이 주어졌을 때, 모두의 부분 수열이 되는 수열 중 가장 긴 것이다. ex) ACAYKP, CAPCAK → LCS : ACAK LCS와 다른게 LIS라는 것도 있던데..이건 다음에 풀어보자! 일단 LCS의 알고리즘 분류가DP로 되어있다. DP 테이블에 어떤 값을 저장해야하는지도무지 감이 잡히지 않아서바로 유튜브 서칭! https://www.youtub..