개발자 톡

연습문제 톡 스마트 물류

C언어 코드 공유

등록일
2024-03-23 12:37:41
조회수
247
작성자
yeinseo1142
#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++){
        
        if(w[i]==1){
            for(int j=i-K;j<=i+K;j++){
                if(w[j]==0 && j>=0 && j<N && i!=j){
                    ans++;
                    w[j]=2;
                    
                    break;
                }
                //if(j<0||j>=N||i==j) continue; 이렇게 조건 걸고 밑에 if(w[j]==0)하고 나머지 적어도 됨
           }
        }
        
    }
   
    
    printf("%d",ans);
   return 0;
}
#스마트_물류
#c언어
#c

이 카테고리의 톡 더보기