본문 바로가기

KickStart16

[Kickstart][2021][Round A] 1. K-Goodness String 문제 : codingcompetitions.withgoogle.com/kickstart/round/0000000000436140/000000000068cca3 입력 문자열을 탐색하면서 S[i] != S[N-i+1] 인 문자의 개수(let, cnt)를 센다. K와 cnt의 차이가 정답이 된다. 시간복잡도는 O(N/2). 소스코드 : github.com/fpdjsns/Algorithm/blob/master/codejam/kickstart/2021/roundA/1.%20K-Goodness%20String.cpp 2021. 3. 28.
[Kickstart][2020][Round F] 2. Metal Harvest 문제 : https://codingcompetitions.withgoogle.com/kickstart/round/000000000019ff48/00000000003f4b8b#problem 소행성에 로봇을 설치하여 탐사하려고 한다. 한 번에 하나의 로봇만 기동할 수 있으며 여러 로봇을 한 번에 기동할수는 없다. 로봇은 수확할 수 있는 시간과 관계없이 K배수 시간만큼 배치가 가능하며 연속배치만 가능하다. i 번째 로봇은 로봇이 가지는 고유 시간범위 [Si, Ei] 동안 수확이 가능하다. 이 기간은 서로 겹치지 않는다. 로봇 수 N, 배치가능 시간 K, 로봇들의 수확가능시간 배열 S, E가 주어질 때, 가능한 계속 수확하기 위해 로봇을 배치하는데 필요한 최소 로봇 배치 개수는 몇개인지 구하라. 각 로봇들의 수.. 2020. 12. 24.
[Kickstart][2020][Round F] 1. ATM Queue 문제 : codingcompetitions.withgoogle.com/kickstart/round/000000000019ff48/00000000003f4ed8 ATM기에 돈을 인출하기위해 사람들이 서있다. 사람들은 Ai 만큼의 돈을 인출하고 싶어한다. 한 번에 인출할 수 있는 돈의 최대는 X이다. 만약 한 번에 원하는 돈을 인출할 수 없다면 돈을 인출한 수 사람들이 서 있는 줄의 가장 뒤에 선다. 원하는 돈을 전부 인출했다면 줄에서 이탈한다. 사람들이 인출하고자 하는 비용 배열 A. 사람의 수 N, 최대 인출 가능 금액 X가 주어질 때, 줄에서 이탈하는 사람들의 순서를 구해라. i 번째 사람이 인출하고자 하는 총 금액이 Ai라 할 때, 줄에 총 몇번 서는지 먼저 구한다. 줄에 서는 총 횟수는 (Ai + .. 2020. 12. 22.
[Kickstart][2020][Round E] 2. High Buildings 문제 : https://codingcompetitions.withgoogle.com/kickstart/round/000000000019ff47/00000000003bef73 N개의 1~N 높이를 가진 빌딩들이 있다. Andre와 Sule이 각각 최좌측(leftmost)과 최우측(rightmost)에서 빌딩들을 바라볼 때 관측할 수 있는 빌딩 수를 각각 A, B라 한다. 빌딩을 관측할 수 있는 조건은 i번째 빌딩의 높이가 바라보는 방향의 앞쪽에 있는 빌딩들의 높이보다 같거나 클때 i 빌딩을 관측할 수 있다. 예를 들어, 빌딩들의 높이가 3 2 5 4 1. 라고 했을 때, 2 높이의 빌딩은 왼쪽에서 봤을 때, 3 높이의 빌딩에 가려보이지 않고 오른쪽에서 봤을 때는 5, 4 높이의 빌딩에 가려 보이지 않는다... 2020. 8. 28.
[Kickstart][2020][Round E] 1. Longest Arithmetic 문제 : https://codingcompetitions.withgoogle.com/kickstart/round/000000000019ff47/00000000003bf4ed Kick Start - Google’s Coding Competitions Hone your coding skills with algorithmic puzzles meant for students and those new to coding competitions. Participate in one round or join them all. codingcompetitions.withgoogle.com 음수가 아닌 정수형 배열이 주어질 때, 최장 부분산수배열 길이를 구해라. 이때, 부분산수배열의 연속되는 원소의 차이는 서로 같다. ex).. 2020. 8. 25.
[Kickstart][2020][Round C] 1. Countdown 문제 : https://codingcompetitions.withgoogle.com/kickstart/round/000000000019ff43/00000000003380d2 크기가 N인 양수 배열이 주어질 때, K 카운트다운이 배열에 몇 번 발생하는지 구해라. K 카운트 다운은 K 부터 1까지 1씩 감소하는 등차수열이다. ex) 3카운트다운 = 3, 2, 1 4 3 2 1 5 3 3 2 1 배열에서 3 카운트 다운은 2번 발생한다. 정답 가능한지 여부를 저장하는 플래그 변수를 추가한다. 배열을 앞에서부터 탐색하면서 K가 나올 때 해당 플래그를 true로 갱신한다. (K 카운트다운 시작) 탐색중인 수가 K가 아닌 경우는 이전 배열 값 -1 이 탐색 중인 값과 같지 않은 경우 정답 가능 플래그를 false로.. 2020. 5. 23.