1번
문제
Hello World! 를 출력하시오.
출력
Hello World! 를 출력하시오.
C++
#include <iostream>
using namespace std;
int main(){
cout << "Hello World!";
return 0;
}
C++ 너무 오랜만에 하다 보니 처음에 입출력 라이브러리 이름이 기억이 안 났다.
iosteam (input/output stream) 입력과 출력의 기능을 사용할 수 있는 라이브러리이다.
cout을 사용하려면 std:: 네임스페이스를 사용해야 하는데 이걸 생략하기 위해서 using으로 네임스페이스를 선언한다.
C#
using System;
class Program{
static void Main(string[] args){
Console.WriteLine("Hello World!");
}
}
System 네임스페이스에 포함된 Console 클래스의 함수인 WirteLine을 사용해서 문자를 출력한다.
Python
print("Hello World!")
이렇게 보니 파이썬의 간단함에 새삼스럽게 놀란다.
2번
문제
두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.
입력
첫째 줄에 A와 B가 주어진다. (0 < A, B < 10)
출력
첫째 줄에 A+B를 출력한다.
C++
#include <iostream>
using namespace std;
int main(){
int a, b;
cin >> a;
cin >> b;
cout << a + b;
}
입력받은 값을 저장하기 위한 변수 a, b 선언 후 합을 출력
C#
using System;
class Program
{
static void Main(string[] args)
{
string str = Console.ReadLine();
string[] arr = str.Split(' ');
int a = int.Parse(arr[0]);
int b = int.Parse(arr[1]);
Console.WriteLine(a + b);
}
}
채점 시 한 줄에 두 값을 모두 주기 때문에 Read 사용 시 입력을 제대로 받지 못한다.
따라서 문자열로 받은 다음 값을 잘라서 정수로 변환하여 출력하여야 한다.
Python
str = input()
arr = str.split(' ')
a = int(arr[0])
b = int(arr[1])
print(a+b)
파이썬도 마찬가지로 문자로 입력받은 다음 값을 잘라서 처리한다.
4번 문제까지는 연산 기호만 달라서 문제만 풀고 따로 남기지 않는다.
5번
문제
두 정수 A와 B를 입력받은 다음, A/B를 출력하는 프로그램을 작성하시오.
입력
첫째 줄에 A와 B가 주어진다. (0 < A, B < 10)
출력
첫째 줄에 A/B를 출력한다. 실제 정답과 출력값의 절대오차 또는 상대오차가 10의 -9승 이하이면 정답이다.
C++
#include <iostream>
using namespace std;
int main(){
double a, b;
cin >> a;
cin >> b;
double res = a/b;
cout.precision(10);
cout << res;
}
소수점 자릿수를 정확하게 출력하기 위해서 추가 작업이 필요하다.
오차를 인정하는 범위가 있기 때문에 소수점 9자리까지 구해야 한다.
cout.precision(n)은 n자리까지 정수부+소수부의 n개까지의 수를 표시해 준다.
문제에서 대입하는 수의 범위는 나누었을 때 정수부가 1자리 이하이기 때문에 precision(10)을 하면 소수점 9자리까지 나오게 된다.
C#
using System;
class Program
{
static void Main(string[] args)
{
string str = Console.ReadLine();
string[] arr = str.Split(' ');
double a = double.Parse(arr[0]);
double b = double.Parse(arr[1]);
Console.WriteLine(a / b);
}
}
float의 정확도는 7번째 자리이기 때문에 double을 사용한다.
Python
str = input()
arr = str.split(' ')
a = float(arr[0])
b = float(arr[1])
print(a/b)
파이썬의 경우 double은 따로 없으며 float이 C의 double을 기반으로 15자리까지의 정확도를 가진다.
그 이상의 자릿수를 사용하기 위해서는 별도의 모듈인 decimal을 사용해야 한다.
'Coding Test' 카테고리의 다른 글
백준 코딩테스트 #5. 입출력과 사칙연산 (11 ~ 13) (1) | 2024.07.20 |
---|---|
백준 코딩테스트 #4. 입출력과 사칙연산 (8 ~ 10) (3) | 2024.07.20 |
백준 코딩테스트 #3. 입출력과 사칙연산 7 (0) | 2024.07.20 |
백준 코딩테스트 #2. 입출력과 사칙연산 6 (1) | 2024.07.20 |
코딩테스트 처음부터 (0) | 2024.07.16 |