[Hackerrank] C++ - 13 Structs

후유카와·2024년 11월 22일

Hackerrank

목록 보기
12/59

13. 구조체

[ 난이도: Easy | 분야: Classes ]

1. 내용 정리

구조체는 복합적인 자료 구조를 표현하기 위해 여러 필드들을 혼합하는 방법 중 하나이고, 객체 지향 프로그램에서 기반한 것이다.

예를 들어, 우리는 구조체로 학생의 정보인 나이(정수), 이름(문자열), 성씨(문자열) 그리고 standard(정수)를 저장할 수 있다.

구조체는 다음과 같이 표현할 수 있다:

struct NewType {
	type1 value1;
    type2 value2;
    .
    .
    .
    typeN valueN;
};

2. 과제

우리는 학생 이름, 위에서 말한 데이터들을 저장할 구조체를 만들어야 한다.

입력 형식

입력은 네 줄로 구성되어 있다.

첫 번째 줄은 나이 정보를 나타내는 정수를 저장하고 있다.

두 번째 줄은 학생의 이름을 나타내는 소문자 알파벳으로 이루어진 문자열을 저장하고 있다.

세 번째 줄은 학생의 성씨를 나타내는 소문자 알파벳으로 이루어진 문자열을 저장하고 있다.

네 번째 줄은 학생의 standard를 나타내는 정수를 저장하고 있다.

주의: 이름과 성씨는 50자를 넘지 않는다.

출력 형식

출력은 단일 줄로 구성되어 있고, 나이, 이름, 성씨 그리고 standard를 표현하고 있다.

각 정보들은 공백으로 구분되어 있다.

추신: 입출력은 HackerRank에 의해 이루어집니다.

입력 예시

15
john
carmack
10

출력 예시

15 john carmack 10

문제

#include <cmath>
#include <cstdio>
#include <vector>
#include <iostream>
#include <algorithm>
using namespace std;

/*
    add code for struct here.
*/

int main() {
    Student st;
    
    cin >> st.age >> st.first_name >> st.last_name >> st.standard;
    cout << st.age << " " << st.first_name << " " << st.last_name << " " << st.standard;
    
    return 0;
}

더보기

정답

#include <cmath>
#include <cstdio>
#include <vector>
#include <iostream>
#include <algorithm>
using namespace std;

/*
    add code for struct here.
*/
struct Student {
    int age;
    string first_name;
    string last_name;
    int standard;
};

int main() {
    Student st;
    
    cin >> st.age >> st.first_name >> st.last_name >> st.standard;
    cout << st.age << " " << st.first_name << " " << st.last_name << " " << st.standard;
    
    return 0;
}

©️Hackerrank. All Rights Reserved.

profile
안녕하세요! 저는 전자공학을 전공하며 하드웨어와 소프트웨어 모두를 깊이 있게 공부하고 있는 후유카와입니다. Verilog HDL, C/C++, Java, Python 등 다양한 프로그래밍 언어를 다루고 있으며, 최근에는 알고리즘에 대한 학습에 집중하고 있습니다. 기술적인 내용을 공유하고, 함께 성장할 수 있는 공간이 되기를 바랍니다. 잘못된 내용이나 피드백은 언제나 환영합니다! 함께 소통하며 더 나은 지식을 쌓아가요. 감사합니다!

0개의 댓글