일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 유니티
- DP
- AIPerception
- blueprint
- HTTP
- 동적계획법
- UnReal
- dfs
- Unity
- server
- ue4macro
- 다이나믹프로그래밍
- uproperty
- EffectiveC++
- UE5
- c++
- 알고리즘
- 코테
- 언리얼
- 문자열
- 언리얼4
- 나나이트
- 코딩테스트
- UMG
- Stimuli
- 코테연습
- 재귀
- Widget
- 프로그래머스
- UE4
- Today
- Total
목록코딩테스트 (12)
공부 기록
문제설명 n명이 입국심사를 위해 줄을 서서 기다리고 있습니다. 각 입국심사대에 있는 심사관마다 심사하는데 걸리는 시간은 다릅니다. 처음에 모든 심사대는 비어있습니다. 한 심사대에서는 동시에 한 명만 심사를 할 수 있습니다. 가장 앞에 서 있는 사람은 비어 있는 심사대로 가서 심사를 받을 수 있습니다. 하지만 더 빨리 끝나는 심사대가 있으면 기다렸다가 그곳으로 가서 심사를 받을 수도 있습니다. 모든 사람이 심사를 받는데 걸리는 시간을 최소로 하고 싶습니다. 입국심사를 기다리는 사람 수 n, 각 심사관이 한 명을 심사하는데 걸리는 시간이 담긴 배열 times가 매개변수로 주어질 때, 모든 사람이 심사를 받는데 걸리는 시간의 최솟값을 return 하도록 solution 함수를 작성해주세요. 입국심사를 기다리는..
문제 설명 위와 같은 삼각형의 꼭대기에서 바닥까지 이어지는 경로 중, 거쳐간 숫자의 합이 가장 큰 경우를 찾아보려고 합니다. 아래 칸으로 이동할 때는 대각선 방향으로 한 칸 오른쪽 또는 왼쪽으로만 이동 가능합니다. 예를 들어 3에서는 그 아래칸의 8 또는 1로만 이동이 가능합니다. 삼각형의 정보가 담긴 배열 triangle이 매개변수로 주어질 때, 거쳐간 숫자의 최댓값을 return 하도록 solution 함수를 완성하세요. 삼각형의 높이는 1 이상 500 이하입니다. 삼각형을 이루고 있는 숫자는 0 이상 9,999 이하의 정수입니다. 문제 풀이 dp 유형의 문제. 처음에 dp배열을 vector로 선언했다가 계속 시간초과가 났는데 2차원 배열로 바꿨더니 간단하게 통과했다. vector는 인덱싱을 지원하지..
문제 설명 아래와 같이 5와 사칙연산만으로 12를 표현할 수 있습니다. 12 = 5 + 5 + (5 / 5) + (5 / 5) 12 = 55 / 5 + 5 / 5 12 = (55 + 5) / 5 5를 사용한 횟수는 각각 6,5,4 입니다. 그리고 이중 가장 작은 경우는 4입니다. 이처럼 숫자 N과 number가 주어질 때, N과 사칙연산만 사용해서 표현 할 수 있는 방법 중 N 사용횟수의 최솟값을 return 하도록 solution 함수를 작성하세요. 문제풀이 처음엔 동적계획법 문제라길래 number를 인수분해하고 그 인수들의 값을 계속해서 구하는 형식의 DP인줄 알았는데, 예시를 보니 인수분해로 접근하는 문제는 전혀 아닐 듯 싶어 미궁에 빠졌었다... 한 3일 정도를 궁리하다가 결국 모르겠어서 힌트를 ..
머리 아픈 날에 풀려고 잡았다가 외않되??? 했던 문제... 역시 멀쩡한 컨디션에 잡으니까 금방 풀린다. 그리고 난 천재가 아니라서 글과 그림으로 생각을 정리해야 문제가 풀린다. 다음부턴 노트북만 붙잡고있지 말자... 문제풀이 124 나라는 자연수만 존재하고, 모든 숫자를 1, 2, 4 로 나타낸다. 여기서 3진법과 다른 점은 숫자 0을 표현하지 않는다는 건데, 그 때문에 3진법과 똑같이 하려고 하면 1씩 밀려 골치가 아프다. 물론 처음부터 n에 1을 빼서 하는 방법도 있지만, 나는 다른 방식으로 접근했기 때문에 그 방법은 패스하도록 하겠다. 참고로 124로 설명하면 헷갈리므로 123으로 바꾸어 설명할테니 잘 알아듣길 바란다. 먼저, 123으로 나타내는 수의 규칙을 보면 해당 자릿수가 나타내는 값은 3의..
2학년때 풀다가 시간초과만 나와서 던졌던 문제인데 오랜만에 재도전 해보았음...ㅋㅋㅋ 문제 설명 n × n의 크기의 대나무 숲이 있다. 욕심쟁이 판다는 어떤 지역에서 대나무를 먹기 시작한다. 그리고 그 곳의 대나무를 다 먹어 치우면 상, 하, 좌, 우 중 한 곳으로 이동을 한다. 그리고 또 그곳에서 대나무를 먹는다. 그런데 단 조건이 있다. 이 판다는 매우 욕심이 많아서 대나무를 먹고 자리를 옮기면 그 옮긴 지역에 그 전 지역보다 대나무가 많이 있어야 한다. 이 판다의 사육사는 이런 판다를 대나무 숲에 풀어 놓아야 하는데, 어떤 지점에 처음에 풀어 놓아야 하고, 어떤 곳으로 이동을 시켜야 판다가 최대한 많은 칸을 방문할 수 있는지 고민에 빠져 있다. 우리의 임무는 이 사육사를 도와주는 것이다. n × n..
문제 설명 가로 길이가 Wcm, 세로 길이가 Hcm인 직사각형 종이가 있습니다. 종이에는 가로, 세로 방향과 평행하게 격자 형태로 선이 그어져 있으며, 모든 격자칸은 1cm x 1cm 크기입니다. 이 종이를 격자 선을 따라 1cm × 1cm의 정사각형으로 잘라 사용할 예정이었는데, 누군가가 이 종이를 대각선 꼭지점 2개를 잇는 방향으로 잘라 놓았습니다. 그러므로 현재 직사각형 종이는 크기가 같은 직각삼각형 2개로 나누어진 상태입니다. 새로운 종이를 구할 수 없는 상태이기 때문에, 이 종이에서 원래 종이의 가로, 세로 방향과 평행하게 1cm × 1cm로 잘라 사용할 수 있는 만큼만 사용하기로 하였습니다. 가로의 길이 W와 세로의 길이 H가 주어질 때, 사용할 수 있는 정사각형의 개수를 구하는 solutio..
사실 간단한 문제라 포스팅까지는 안하려고 했는데, 짚고 넘어가고 싶은 부분이 있어서 글로 적어두기로 했다. 비루한 내 코드 아래에 문제 설명과 함께 예쁜 풀이도 같이 적어뒀다. #include #include using namespace std; string number(int n) { if (n == 0) return "zero"; else if (n == 1) return "one"; else if (n == 2) return "two"; else if (n == 3) return "three"; else if (n == 4) return "four"; else if (n == 5) return "five"; else if (n == 6) return "six"; else if (n == 7) ret..
문제 설명 이번 추석에도 시스템 장애가 없는 명절을 보내고 싶은 어피치는 서버를 증설해야 할지 고민이다. 장애 대비용 서버 증설 여부를 결정하기 위해 작년 추석 기간인 9월 15일 로그 데이터를 분석한 후 초당 최대 처리량을 계산해보기로 했다. 초당 최대 처리량은 요청의 응답 완료 여부에 관계없이 임의 시간부터 1초(=1,000밀리초)간 처리하는 요청의 최대 개수를 의미한다. 입력 형식 solution 함수에 전달되는 lines 배열은 N(1 ≦ N ≦ 2,000)개의 로그 문자열로 되어 있으며, 각 로그 문자열마다 요청에 대한 응답완료시간 S와 처리시간 T가 공백으로 구분되어 있다. 응답완료시간 S는 작년 추석인 2016년 9월 15일만 포함하여 고정 길이 2016-09-15 hh:mm:ss.sss 형..