문제 출처:https://www.acmicpc.net/problem/17211 17211번: 좋은 날 싫은 날 지은이가 건국한 나라인 유애나에 살고 있는 재현이는 너무 단순한 나머지 매일이 기분이 좋은 날, 기분이 싫은 날 두가지로 나누어진다. 어느 날 지은이는 재현이에 대한 놀라운 사실을 발 www.acmicpc.net 문제 분석 이 문제를 풀기 위해서 먼가 재귀적으로 접근해야 할 것 같다는 느낌이 들었습니다. 좋은 날을 0으로 싫은 날을 1로 두고 예제를 살펴보면, 00[좋은날 -> 좋은날] 0.70 01[좋은날 -> 싫은날] 0.30 10[싫은날 -> 좋은날] 0.50 11[싫은날 -> 싫은날] 0.50 처음에 1[싫은날]로 시작하여 각각 좋은 날과 싫은 날의 확률을 구해야합니다. 좋은날[110 +..
문제 출처:https://www.acmicpc.net/problem/17210 17210번: 문문문 첫째 줄에 총 문의 개수 N(2 ≤ N ≤ 2,500,000,000)이 주어진다. 둘째 줄에는 유신이가 첫 번째 문을 통과할 때 문을 연 방법이 주어진다. 밀어서 여는 법은 숫자 0, 당겨서 여는 법은 숫자 1로 표기된 www.acmicpc.net 문제 분석 문제를 처음 본 순간 2와 3의 배수에는 각각 같은 방식으로 문을 열수 있다고 한 부분이 이상했습니다. 2의 배수 2, 4, 6, 8... 과 3, 6, 9 ... 라고 할 때 2와 3은 항상 다른 값이 올 텐데 곂치는 6이 온다면 둘 중 하나의 조건에는 성립하지 못한다는 것을 캐치했습니다. 따라서 Love is open door라는 문구를 출력하는 ..
문제 출처:https://www.acmicpc.net/problem/10757 10757번: 큰 수 A+B 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. www.acmicpc.net 저는 처음에 이 문제를 보고 long long 타입으로 주고 그냥 더하면 되는거 아닌가 싶었습니다. 그런데 다시보니 input size가 ${10^100000}$이더군요.. 그래서 숫자 형태의 데이터 타입으로는 접근할 수 없겠다고 생각하여 string으로 문제를 풀었습니다. 각 숫자마다 문자열의 길이가 다르기때문에 reverse함수를 사용해서 뒤집어주었고, loop를 사용하여 더해서 10이상인 경우 올림을 해주었습니다. 코드는 다음과 같습니다: #include #include #include u..
문제 출처:https://www.acmicpc.net/problem/1267 1267번: 핸드폰 요금 동호가 저번 달에 이용한 통화의 개수 N이 주어진다. N은 20보다 작거나 같은 자연수이다. 둘째 줄에 통화 시간 N개가 주어진다. 통화 시간은 10,000보다 작거나 같은 자연수이다. www.acmicpc.net 해당 문제는 두가지 경우중 더 싼 요금제를 구하고 요금을 출력하는 문제입니다. input으로 들어온 시간을 30과 60으로 나눈 값에 + 1을 한 값으로 충분히 구할 수 있습니다. 코드는 다음과 같습니다: #include #define Y_FEE 10 #define M_FEE 15 using namespace std ; int main(){ ios::sync_with_stdio(false) ;..
문제 출처:https://www.acmicpc.net/problem/2010 2010번: 플러그 첫째 줄에 멀티탭의 개수 N이 주어진다. (1 ≤ N ≤ 500,000) 이어서 둘째 줄부터 N개의 줄에 걸쳐 각 멀티탭이 몇 개의 플러그를 꽂을 수 있도록 되어 있는지를 나타내는 자연수가 주어진다. 이 자연 www.acmicpc.net 이 문제는 컴퓨터의 전원을 연결할 수 있는 콘셉트의 갯수를 출력하는 문제입니다. 물론 저렇게 연결하면 과전류의 위험이 있습니다만.. 이 문제 또한 해결하는 데 큰 어려움은 없었습니다. 코드는 다음과 같습니다: #include using namespace std ; int main(){ ios::sync_with_stdio(false) ; cin.tie(NULL) ; cout...