본문 바로가기
dev/코딩테스트

[Codetree] 바이러스 검사

by dev-everyday 2025. 4. 4.
반응형

문제

https://www.codetree.ai/ko/frequent-problems/problems/virus-detector/description

 

삼성 코딩테스트 기출 문제 설명: 바이러스 검사 - 코드트리

삼성전자 코딩테스트 기출 문제 바이러스 검사의 상세 설명입니다. 문제 요구사항을 정확히 파악하고 효율적인 알고리즘을 설계해보세요.

www.codetree.ai

 

풀이

간단한 문제이다.n만큼의 vector를 선언하고 for문을 돌면서 leaderCnt를 빼고(무조건 한 명), 나머지 팀원들이 검사를 진행하는 수를 그리면 된다.그리고 %로 나눠지지 않는다면 n명이 남기 때문에 +1을 해준다.그리고 범위가 n이 백만이나 되기 때문에 만약 1명씩 검사를 한다고 하면 long long을 초과하는 결과값이 나온다.범위를 주의해서 long long으로 잘 출력하자

 

코드

#include <iostream>
#include <vector>
using namespace std;

int main() {
    int n;
    cin >> n;
    vector<int>v(n);
    for(int i=0;i<n;i++){
        cin >> v[i];
    }
    int leaderCnt=0, memberCnt=0;
    cin >> leaderCnt >> memberCnt;
    long long cnt = 0;
    for(int i=0;i<n;i++){
        int num = v[i];
        if(num-leaderCnt<0){
            cnt++;
        } else {
            num-=leaderCnt;
            cnt++;
            if(num%memberCnt!=0){
                cnt++;
            }
            cnt+=num/memberCnt;
        }
    }  
    cout << cnt <<endl;
    return 0;
}
반응형

'dev > 코딩테스트' 카테고리의 다른 글

[Codetree] 2개의 사탕  (0) 2025.04.07
[Programmers - DP] N으로 표현  (0) 2025.03.24
[BOJ - 2169] 로봇 조종하기  (0) 2025.03.20
[Softeer - Lv2] 회의실 예약  (6) 2025.02.28
[Softeer - Lv2] 전광판  (0) 2025.02.27