Challenge
Careers
Class
Connect
로그인 후 문제풀이가 가능합니다.
JS
로봇 최대 20,000개 로봇 팔 길이 최대 10 로봇마다 좌우 확인 20 20,000 x 20 = 400,000 cpu 대충 1초에 1억 예상 0.004초 실제 0.04초 const fs = require('fs'); const input = fs.readFileSync('input.txt', 'utf8').trim().split(/\n+/); const [N, K] = input[0].split(/\s+/).map(Number); const line = input[1].split('') const robotIndexList = [] line.forEach((type, index) => { if (type === 'P') { robotIndexList.push(index) } }) let count = 0 robotIndexList.forEach((robotIndex) => { for (let start = ro...
탐색 순서 질문
완전 탐색으로 정답이 나오긴했는데 로봇을 기준으로 인덱스가 낮은거부터 탐색할때만 나옵니다. 인덱스가 높은거부터 탐색하는 경우는 물류가 내려오는 걸 고려해서 따지지 않는건가요? ```python #include<iostream> #include<numeric> using namespace std; int main(int argc, char** argv) { int n,k; cin>>n>>k; bool map[n]; for(int i=0;i<n;i++) map[i]=false; string s; cin>>s; int pick = 0; for(int i=0;i<n;i++){ if(s[i]=='P'){ for(int j=i-k;j<=i+k;j++){ if(j<0||i==j||j>=n) continue; if(s[j]=='H' && !map[j]){ map[j]=true; pick++; break; } } } } // for(int i=0;i<s.size();i++) // cout <<...
C언어 코드 공유
#include <stdio.h> int main(void) { int N,K; scanf("%d %d",&N,&K); char what[N+1]; //N+1이 아니라 N이면 오류남 for(int i=0;i<N;i++){ scanf("%1s",&what[i]); } //^이렇게 안하고 scanf("%c",what); 가능.. int w[N+1]; for(int i=0;i<N;i++){ if (what[i]=='H'){ w[i]=0; //부품 } else w[i]=1;//로봇 } //^이건 굳이..? 그냥 w 안만들고 what[i]=='P'이런식으로 해도 됨 int ans=0; for(int i=0;i<N;i++){ i...
스마트 물류(414번)
def main(): N, K = map(int, input().split()) rail = list(map(str, input())) answer = 0 visited = [0] * (N+1) for i in range(N): for j in range(K, 0, -1): if i+j >= N: continue if visited[i] == 0 and visited[i+j] == 0: if rail[i] == 'P' and rail[i+j] == 'H': visited[i] = 1 visited[i+j] = 1 answer += 1 if rail[i...