본문 바로가기
728x90

Baekjoon/[Code.plus] 알고리즘 기초 1/269

[BOJ/백준] 1463 1로 만들기 ● [문제번호 1463] 1로 만들기 https://www.acmicpc.net/problem/1463 1463번: 1로 만들기 첫째 줄에 1보다 크거나 같고, 106보다 작거나 같은 정수 N이 주어진다. www.acmicpc.net ● 알아야 할 것 : 다이나믹 프로그래밍 ● 풀이 과정 : 재귀로만 모든 경우 확인하는 방법으로 구현했더니 '시간 초과' 결과가 나왔다. 2로 나눈 나머지와 3으로 나눈 나머지를 비교하여 재귀하는 방법으로 시간을 단축시킬려고 했으나 이번에 답이 옳지 않게 나왔다. 결국에 구글링을 하였다. : 참고 링크에 해당 문제를 Top - Down 방식과 Bottom - Up 방식으로 모두 풀이 되어 있다. : 아래 코드는 Top - Down 방식으로 구현하였다. (Bottom - Up.. 2021. 7. 30.
[BOJ/백준] 11653 소인수분해 ● [문제번호 11653] 소인수분해 https://www.acmicpc.net/problem/11653 11653번: 소인수분해 첫째 줄에 정수 N (1 ≤ N ≤ 10,000,000)이 주어진다. www.acmicpc.net ● 알아야 할 것 : 소인수분해 하는 방법 : 재귀 함수 ● 풀이 과정 : 소수 목록을 만들어 해당 소수로 나눠지는 지 확인하는 방법도 있지만 직관적으로 2로 계속 나눠보고 안되면 다음 3으로 계속 나눠보고 안되면 다음 4로 나눠보고 하는 방법으로 구현하였다. 이렇게 구현해도 괜찮은 이유는 예를 들어 2로 더이상 나눌 수 없을 때 까지 나누면 더이상 2의 배수로 나눌 수 없기 때문이다 ● 주의 할 것 : 재귀함수의 Base case 고려하기 ● 참고 할 것 : 소인수분해하는 방법.. 2021. 7. 29.
[BOJ/백준] 11576 Base Conversion ● [문제번호 11576] Base Conversion https://www.acmicpc.net/problem/11576 11576번: Base Conversion 타임머신을 개발하는 정이는 오랜 노력 끝에 타임머신을 개발하는데 성공하였다. 미래가 궁금한 정이는 자신이 개발한 타임머신을 이용하여 500년 후의 세계로 여행을 떠나게 되었다. 500년 후의 www.acmicpc.net ● 알아야 할 것 : A 진법 → 10 진법 → B 진법 으로 변환하는 방법 : vector 자료구조와 메소드 ● 풀이 과정 : 일반적으로 11진법부터는 10 → A, 11 → B, 12 → C, .. 등으로 표현한다. 하지만 주어진 문제의 설명을 확인하면 11진법부터는 10 → 10, 11 → 11, 12 → 12, .. .. 2021. 7. 29.
[BOJ/백준] 2745 진법 변환 ● [문제번호 2745] 진법 변환 https://www.acmicpc.net/problem/2745 2745번: 진법 변환 B진법 수 N이 주어진다. 이 수를 10진법으로 바꿔 출력하는 프로그램을 작성하시오. 10진법을 넘어가는 진법은 숫자로 표시할 수 없는 자리가 있다. 이런 경우에는 다음과 같이 알파벳 대문자를 www.acmicpc.net ● 알아야 할 것 : 진법을 변환하는 방법 : 알파벳 대문자 출력을 위한 ASCII 코드 ● 풀이 과정 : 정수형 자료형으로 주어지는 수 N을 입력받으면 11진법 이상에서 나오는 A ~ Z 의 수를 입력받을 수 없다. 따라서 문자열 string을 이용하여 N을 입력 받는다. : 주어진 수 N의 뒷자리부터 B진법에 알맞는 가중치를 계속 곱하면서 변환된 수를 만들어간.. 2021. 7. 29.
728x90