1 분 소요

📌 난이도

⭐️⭐️⭐️

💡 문제

차량 보안 시스템에서 허가된 사용자만이 차량의 시동을 걸 수 있습니다. 시스템은 4자리의 PIN 코드를 사용하여 인증합니다. 저장된 허가된 PIN 코드는 1234입니다. 입력된 PIN 코드가 허가된 PIN 코드와 일치하는지 확인하는 프로그램을 작성하세요.

입력

첫 번째 줄에 시도 횟수 N이 주어집니다.

다음 N개의 줄에 각각 입력된 4자리 PIN 코드가 주어집니다.

출력

각 시도에 대해 “Access Granted” 또는 “Access Denied”를 출력하세요.

입력 예시

3
1111
1234
0000

출력 예시

Access Denied
Access Granted
Access Denied

📝 풀이

입력된 PIN 코드와 저장된 PIN 코드를 비교하여 일치하면 “Access Granted”를, 그렇지 않으면 “Access Denied”를 출력합니다.

📃 소스코드

// C
코드 복사
#include <stdio.h>
#include <string.h>

int main() {
    int N;
    char input_pin[5]; // 4자리 PIN 코드 + null 문자
    char authorized_pin[] = "1234";

    // 시도 횟수 입력
    scanf("%d", &N);

    for (int i = 0; i < N; i++) {
        // PIN 코드 입력
        scanf("%s", input_pin);

        // 입력된 PIN 코드와 허가된 PIN 코드 비교
        if (strcmp(input_pin, authorized_pin) == 0) {
            printf("Access Granted\n");
        } else {
            printf("Access Denied\n");
        }
    }

    return 0;
}

코드 설명

입력 받기

  1. scanf(“%d”, &N);을 사용하여 시도 횟수 N을 입력받습니다.
  2. for 루프를 사용하여 N번 PIN 코드를 입력받습니다.
  3. 각 PIN 코드는 scanf(“%s”, input_pin);을 통해 문자열로 입력받습니다.

PIN 코드 비교

  • strcmp(input_pin, authorized_pin) 함수를 사용하여 입력된 PIN 코드와 허가된 PIN 코드 “1234”를 비교합니다.
  • 비교 결과가 0이면 일치하는 것이므로 “Access Granted”를 출력합니다.
  • 그렇지 않으면 “Access Denied”를 출력합니다.
// rust
use std::io::{self, BufRead};

fn main() {
    // 표준 입력을 잠금
    let stdin = io::stdin();
    let mut lines = stdin.lock().lines();

    // 시도 횟수 N을 입력받음
    let n: usize = lines.next().unwrap().unwrap().trim().parse().unwrap();
    let authorized_pin = "1234";

    for _ in 0..n {
        // PIN 코드 입력받기
        let input_pin = lines.next().unwrap().unwrap();

        // 입력된 PIN 코드와 허가된 PIN 코드 비교
        if input_pin == authorized_pin {
            println!("Access Granted");
        } else {
            println!("Access Denied");
        }
    }
}

코드 설명

입력 받기

  1. lines.next().unwrap().unwrap()을 사용하여 첫 번째 줄에서 시도 횟수 n을 문자열로 입력받습니다.
  2. trim().parse().unwrap()를 통해 문자열을 공백 제거 후 usize 타입으로 파싱합니다.
  3. for 루프를 사용하여 n번 PIN 코드를 입력받습니다.
  4. 각 PIN 코드는 lines.next().unwrap().unwrap()을 통해 문자열로 입력받습니다.

PIN 코드 비교

  • 입력된 input_pin과 허가된 PIN 코드 “1234”를 비교합니다.
  • 일치하면 “Access Granted”를 출력하고, 그렇지 않으면 “Access Denied”를 출력합니다.

맨 위로 올라가기

저의 글을 읽어 주셔서 감사합니다. 문제가 있으면 저의 메일로 연락 주시면 감사하겠습니다. 댓글과 피드백 또한 감사합니다.
Thank you for visiting my blog. If you have any problems, please contact me by e-mail. Thanks also for the comments and feedback.

태그: , , , ,

카테고리: ,

업데이트:

댓글남기기