IT 이야기
알고리즘 숫자 계산 수학 문제 C++ / Java / 파이썬
youngmap
2023. 1. 9. 15:34
반응형
백준 18108번 : 1998년생인 내가 태국에서는 2541년생?! 풀어보면서 불기와 서기 연도 계산을 알아봅시다.
조금 생각을 해야 하는 알고리즘 숫자 계산 수학 문제가 나왔습니다.
https://www.acmicpc.net/problem/18108
18108번: 1998년생인 내가 태국에서는 2541년생?!
ICPC Bangkok Regional에 참가하기 위해 수완나품 국제공항에 막 도착한 팀 레드시프트 일행은 눈을 믿을 수 없었다. 공항의 대형 스크린에 올해가 2562년이라고 적혀 있던 것이었다. 불교 국가인 태국
www.acmicpc.net

문제 제목과 입출력 예제를 보니 불기 2541년은 서기 1998년이라고 합니다.
암산해보면 불기연도에서 -543을 하면 서기연도가 됩니다.
입력 조건값에 계산해봐도 음수가 나올리는 없어 보입니다.
입력 조건 : 1000 <= y <= 3000
단순한 뺄셈 문제라고 생각하고 코드를 작성합니다.
1. C++
입력 조건에 y 라는 변수를 썼으니 변수이름 짓기는 고민 없이 y라고 했습니다.
#include <stdio.h>
int main(){
int y;
scanf("%d", &y);
printf("%d", y-543);
return 0;
}
2. JAVA
java 코드는 너무 길어요.
br.readLine()은 문자열을 리턴하므로 int로 형변환하는 과정이 필요합니다.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int y = Integer.parseInt(br.readLine());
System.out.print(y-543);
}
}
3. Python
java와 마찬가지로 입력받은 데이터를 int로 형변환 합니다.
print(int(input())-543)
반응형