[백준] 10718번 : We love kriii - [C++]
10718번: We love kriii
ACM-ICPC 인터넷 예선, Regional, 그리고 World Finals까지 이미 2회씩 진출해버린 kriii는 미련을 버리지 못하고 왠지 모르게 올해에도 파주 World Finals 준비 캠프에 참여했다. 대회를 뜰 줄 모르는 지박
www.acmicpc.net
- 문제
출력만 하면 되는 문제다.
- 알고리즘 [접근 방법]
알고리즘은 딱히 설명할 것이 없다.
한 번에 두 줄을 출력해주어도 되고, 두 번 각각 나누어 출력해주어도 된다.
// 방법 1
"강한친구 대한육군\n"
"강한친구 대한육군"
// 방법 2
"강한친구 대한육군\n강한친구 대한육군"
이 때, 중요한 것은 개행(줄바꿈)은 \n 이 담당한다. 이를 안해주면 한 줄에 붙어서 출력되니 이 부분만 조심하도록 하자.
- 2가지 방법을 사용하여 풀이한다.
C언어에서 stdio 헤더를 쓰는 방법과, C++에서만 쓸 수 있는 iostream 을 각각 써보도록 하겠다.
1 . stdio
2. iostream
- 풀이
- 방법 1 : [stdio]
#include <stdio.h> // #include <cstdio> 대치 가능
int main(int argc, char const *argv[]) {
printf("강한친구 대한육군\n강한친구 대한육군");
/*
또는
printf("강한친구 대한육군\n");
printf("강한친구 대한육군");
*/
return 0;
}
가장 기본적인 방법이라 할 수 있겠다. 별다르게 설명 할 것도 없다..
- 방법 2 : [iostream]
출력 방법을 C++에서 제공하는 iostream으로 바꾸어본 것이다.
#include <iostream>
int main(int argc, char const *argv[]) {
std::cout << "강한친구 대한육군\n강한친구 대한육군";
/*
또는
std::cout << "강한친구 대한육군\n";
std::cout << "강한친구 대한육군";
*/
return 0;
}
다만, 여기서 필자가 endl 을 안쓰고 '\n'을 쓰는 이유는 추후 출력이 매우 많은 문제같은 경우 endl 보다 \n이 훨씬 빠르기 때문이다. endl 의 경우 해당 키워드가 나올 때마다 출력 버퍼(buffer)를 비워주게 되는데(flush) 이 과정이 생각보다 시간을 잡아먹는다. 그렇기 때문에 endl 보다는 \n으로 출력버퍼에 계속 쌓아주면서 나중에 한번에 비워주는게 좋다.
쉽게 생각해서 여러분들이 매 번 쓰레기통 안에 있는 쓰레기를 비워주는 것 보다 어느정도 모아두었다가 나중에 한 번에 비워주는게 효율적인 것과 비슷한 원리라고 보시면 된다.
- 성능
채점 번호 : 26033897 - 방법 2 : iostream
채점 번호 : 26033881 - 방법 1 : stdio
매우 짧은 출력이라 이러나 저러나 시간은 동일하게 나온다.
- 정리
워낙 간단한 문제라 별다르게 설명할 게 없다.
다만, 오늘 배워갈 점은 iostream을 쓸 경우 endl 보다는 \n을 통해 줄바꿈을 해주는 것이 좋다는 것이다. 이후 한 번쯤은 이에 대해 체감할 수 있는 문제가 나올것이다.
'C++ - 백준 [BAEK JOON] > 기타 문제' 카테고리의 다른 글
[백준] 2577번 : 숫자의 개수 - [C++] (0) | 2021.09.27 |
---|---|
[백준] 2742번 : 기찍 N - [C++] (0) | 2021.04.12 |
[백준] 2741번 : N 찍기 - [C++] (0) | 2021.04.06 |