문제보기https://www.acmicpc.net/problem/1081 L보다 크거나 같고, U보다 작거나 같은 모든 정수의 각 자리의 합을 구하는 프로그램을 작성하시오. U은 0보다 크거나 같고, 2,000,000,000보다 작거나 같은 정수이고, L은 0보다 크거나 같고, U보다 작거나 같은 정수이다. 풀이이 문제는 철저하게 수학 문제이다. 나는 접근방법을 보고나서야 풀 수 있었다. 접근법은 10단위로 생각할 것.10 ~ 29 까지 1 단위 자리의 0~ 9 의 발견횟수는 각각 (2-1+1) 이다. 이를 기준으로 계산한다.만약 Lower, Upper 구간이 0이 아니라고 해보자. 이 경우 0 으로 맞춰줘야한다. - Lower, Upper 도 1씩 올리던,- Lower, Upper 를 1씩 내리던,- ..
문제보러가기https://www.acmicpc.net/problem/6549 히스토그램에서 가장 큰 직사각형 흥미로운 문제다 생각의 진행은 다음과 같다.Main Think.[l ,r] 특정 구간내의 가장 큰 직사각형은 무엇인가? 김 : 가장 높이가 낮은 것을 기준으로 *(r-l+1) 가로길이 를 하면된다. 정 : 그렇겐 할 수 없다. 그렇게 푼다면 O(n)의 솔루션이 가능하다. 반례는 쉽게 구할 수 있다. 가로 길이가 2인 것을 직사각형 set을 생각하고 h 배열이 다음과 같다고 해봐라 [1, 1,000,000] 가장 큰 직사각형은 2인가? 1,000,000 인가? 김 : 내 솔루션이 틀렸다는걸 이해했다. 그러면 다음과 같이 해보자. 이건 조합문제라고 생각한다. 어쨌든 모든걸 시도하지 않으면 정답을 찾을..
문제보러가기https://www.acmicpc.net/problem/15483 문제 정의문자열 A와 B가 있다.A를 어떠한 동작을 통해 B와 같게 만들려고 한다. 이 때 최소한의 동작 횟수를 구하시오. 각 순간마다 세가지의 선택을 할 수 있다.- 1 삽입- 2 삭제- 3 교체 이 문제를 어떻게 해결할 수 있을까? 이 문제의 접근법은 모든 가능성을 탐색하는 것이다.재귀를 이용하여 두 문자열의 다름 정도의 비교를 할 수 있다. String S1 의 i 인덱스, S2 의 j 인덱스를 다름을 비교하여, 만약 같다면 다음 비교 스테이지인 S1의 i+1, S2의 j+1로 넘어간다. 만약 다르다면, S1에게 3가지 동작을 수행할 수 있다.삭제, 더하기, 교체 이다.만약 삭제하는 경우 다음 비교 스테이지인 S1의 i+..
Codeforces 1092C Prefixes and Suffixes문제 보러 가기https://codeforces.com/contest/1092/problem/C 문제 설명문자열 길이 정수 n 을 입력받는다. 그리고 2*n-2 개의 문자열을 입력받는다. 이때 문자열들은 다음을 만족한다.1 입력받는 문자열은 길이가 (1 ~ n-1)인 문자열이 각각 두개씩 있다.2 각각 문자열들은 n 길이의 문자열 S의 접두어거나 접미어이다. 이때 각각의 문자열이 S(접미어), P(접두어)인지 2*n -2 길이로 문자열 정보를 출력하라. 예제입력5baaababaabababaababa 출력SPPSPSPS 입력3aaaaaa출력PPSS 입력2ac출력PS 문제에 대해 이야기해본다. 내가 느끼기엔, 이 문제는 Div 3 Conte..
codeforces 1060C Maximum Subrectangle 문제보러가기https://codeforces.com/contest/1060/problem/C 문제 정의각각의 길이 n, m 인 1차원 배열 a, b를 서로 곱해서 2차원 배열을 만든다.행렬곱의 결과 c(i,j) = a(i) * b(j) 이다. 이때 c에서 가장 큰 사각형의 넓이를 구하시오. 단, c(i,j)의 합이 수 k 를 넘지 않아야한다.a와 b의 길이는 각 각 최대 2,000 사이즈이다. 1
문제보기https://www.acmicpc.net/problem/5639 이진 검색 트리를 전위 순회한 결과를 이용해 트리 모양을 유추하고 후위 순회를 출력하는 문제이다.전위 순회는 (루트 - 왼쪽 - 오른쪽) 이므로 입력값이 이전 입력값보다 작으면 반드시 왼쪽으로 다리를 뻗어 있는 것다. 만약 크다면 이전 입력 노드에 대한 successor 노드(해당 노드보다 큰 key를 가진 노드들 중 가장 작은 노드) 보다 큰지 작은지 판단하여, 만약 successor 보다 작다면 이전 입력 노드의 우측 child로 들어가면된다. 만약 successor 보다 크다면 successor의 우측 subtree 로 가거나 아니면 successor에 대한 successor의 우측 subtree로 가는지 반복적으로 체크해줘야..
백준 15991 1, 2, 3 더하기 - 6문제 보러가기 https://www.acmicpc.net/problem/15991 문제정수 4를 1, 2, 3의 합으로 나타내는 방법은 총 3가지가 있다. 합을 나타낼 때는 수를 1개 이상 사용해야 한다. 단, 합은 대칭을 이루어야 한다.1+1+1+11+2+12+2정수 n이 주어졌을 때, n을 1, 2, 3의 합으로 나타내는 방법의 수를 구하는 프로그램을 작성하시오. 경우의 수 문제이다. 이 문제를 푸는데 무려 2달 이나 걸렸다. 2달 전 처음 접했을 때 엄청 푸려고 노력했다. 한 4일 정도 노력을 했는데 안풀렸다. 특수한 스킬이 필요한 것이 아니라 이해력 문제였는데 못 풀었기 때문에, 그리고 또 이 문제 시리즈를 1, 2, 3, 4, 5, ... 순서대로 풀려..
Codeforces 1041D glider문제보러가기 이 문제는 비행기 내에서 주어지는 높이와 임의의 시작점에서 종이 비행기를 던지는데 해당 종이비행기가 비행할 수 있는 최대인 거리를 찾는 문제이다.비행기가 임의의 점을 비행할 때 종이비행기를 던지면, 항상 하강하며 앞으로 나아가는데 이 때, 특정 구간에서는 하강을 하지 않고 앞으로 갈 수 있다는 것이다. 특정 구간에는 상승기류가 있다고 하자.즉, 종이 비행기가 날라갈 수 있는 최대인 거리를 찾기위해서는 상승 기류 구간을 잘 고려한다음 x좌표 (1 ~ 1e9) 사이의 점을 골라 던져야 한다는 것이다. 나는 그렇게 똑똑한 사람이 아니기 때문에 먼저 브루트포스하게 찾아보려고 했다. 아마 브루트 포스하게 접근하다보면 솔루션이 보이겠지. 라고 생각했다. 이 문제..
- Total
- Today
- Yesterday
- 가상 면접 사례로 배우는 대규모 시스템 설계 기초
- 시뮬레이션
- 자바스크립트
- rosen
- 데이터 중심 애플리케이션 설계
- 조합 코딩
- paul wilton
- arena simulation
- 자바스크립트 예제
- Arena
- 이산수학
- 로젠
- 그라파나
- Propositional and Predicate Logic
- 이산 수학
- 아레나시뮬레이션
- Discrete Mathematics
- 대규모 시스템 설계 기초
- 엄청난 인내심과 시뮬레이션을 위한 아레나 툴
- javascript
- beginning javascript
- 명제논리
- flutter
- 백준
- Simulation
- grafana cloud
- Trie
- 아레나 시뮬레이션
- 아레나
- 최단경로 알고리즘
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |