https://www.acmicpc.net/problem/18108
이번 문제는 매우 직관적이었던 앞선 기초 문제들과 조금 달리 불기 연도라는 개념이 등장하는데,
이 말 자체를 처음 들어본다면 불기 연도에 대해서 찾아보는 경우도 있을 것 같다.
하지만 불기 연도와 서기 연도의 변환법을 모르더라도 풀 수 있는데,
예제 입력을 보고 일반화시키면 된다.
2541을 넣었을 때 1998이 나와야 한다면, 1년 후인 2542년에는 1999라는 값이 나와야 한다.
이때 두 년도의 차는 항상 같아야 하기에 (2541-1998), 즉 543을 빼주고 출력하면 된다.
using System;
namespace unicoti {
class program {
static void Main() {
string input = Console.ReadLine();
int year = int.Parse(input);
Console.WriteLine(year-543);
}
}
}
이렇게 표현해 줄 수 있다.
불기 연도를 문자열 형태로 입력받고, 정수형으로 변환해 주고,
서기 연도로 변환해 주기 위해서 543을 뺀 후 출력해 주면 된다.
기초지식이 없어도 입출력을 보고 일반화한 예시이다.
오늘의 느낀 점)
일단 일반화에 성공해서 뿌듯하고, 그럼에도 쉬운 문제여서 성취감은 들지 않는다.
그리고 어려운 문제를 풀 때는 단계별로 설명이 가능해서 제목처럼 큰 폰트를 사용해서
목차를 만들기 용이했는데 이 정도 문제들은 글 형식이 매번 바뀌는 듯하다.
문제 자체가 쉬운 편이라서 느낀 점이 많지는 않다.
단계별로 푸는 곳에 들어가 보면 유형별로 나뉘어 있는데,
바쁘지만 않다면 한 "챕터"를 하루의 목표로 삼는 것도 나쁘지 않아 보인다만
블로그에 글을 남기면서 하기에는 무리가 있어 보인다.
자기 계발 경험상 목표가 너무 커도 쉽게 포기하게 되니 지금처럼
쉬운 문제는 2-3개 정도씩, 어려운 문제는 1문제씩이라도 꾸준히 풀길 바란다.
이상으로 도움이 되었길 바라며,
끝.
'코딩테스트 (C#)' 카테고리의 다른 글
백준 2588 : 곱셈 - C# 풀이 (0) | 2024.07.29 |
---|---|
백준 10430 : 나머지 - C# 풀이 (1) | 2024.07.15 |
백준 10926 : ??! - C# 풀이 (1) | 2024.07.14 |
백준 10869 : 사칙연산 - C# 풀이 (2) | 2024.07.13 |
백준 2557 : Hello World! - C# 풀이 (0) | 2024.07.13 |
댓글