전체 글

꿈많은 예비 개발자 & 현재 한동대 컴퓨터 전공으로 재학 중
알고리즘 문제풀이/[C++] Baekjoon

Baekjoon 문제 17211번 좋은 날 싫은 날

문제 출처: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 +..

알고리즘 문제풀이/[C++] Baekjoon

Baekjoon 문제 17210번 문문문

문제 출처: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라는 문구를 출력하는 ..

알고리즘 문제풀이/[C++] Baekjoon

Baekjoon 문제 10757번 큰 수 A+B

문제 출처: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..

알고리즘 문제풀이/[C++] Programmers

Programmers 문제 42883번 큰 수 만들기

문제 출처: https://programmers.co.kr/learn/courses/30/lessons/42883?language=cpp 코딩테스트 연습 - 큰 수 만들기 programmers.co.kr char 타입의 '0'은 ASCII Code로 표현하면 48입니다. '9'까지 이어져 있으며 [-'0']을 해주거나 [-48]을 해주면 int 타입과 동일하게 활용할 수 있습니다. 코드는 다음과 같습니다: #include using namespace std; string solution(string number, int k) { string answer = ""; int n = number.length() - k; for(int i = 0,index = -1; i < n; i++){ char max = ..

알고리즘 문제풀이/[C++] Programmers

Programmers 문제 12947번 하샤드 수

문제 출처: https://programmers.co.kr/learn/courses/30/lessons/12947 코딩테스트 연습 - 하샤드 수 양의 정수 x가 하샤드 수이려면 x의 자릿수의 합으로 x가 나누어져야 합니다. 예를 들어 18의 자릿수 합은 1+8=9이고, 18은 9로 나누어 떨어지므로 18은 하샤드 수입니다. 자연수 x를 입력받아 x가 하 programmers.co.kr 문제를 푸는데 큰 어려움은 없었습니다. 코드는 다음과 같습니다: #include #include #include bool solution(int x) { int sum = 0, n = x ; while(n != 0){ sum += n % 10 ; n /= 10 ; } return ((x % sum) == 0 ) ? true..

알고리즘 문제풀이/[C++] Leetcode

Leetcode 문제 342번 Power of Four

문제 출처:https://leetcode.com/problems/power-of-four/ Power of Four - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 이 문제는 input으로 주어진 숫자가 ${4^x}로 표현이 되는지 안되는지에 따라 true, false를 출력하는 문제입니다. 저는 이 문제를 재귀적으로 접근했습니다. num이 1이면, true num이 0이면, false num을 4로 나눈 나머지가 0이 아니라면, false 조금 빠른 연산을 ..

gurcks8989
Coding-Leaf