본문 바로가기

알고리즘16

[코딩테스트/ 백준 알고리즘] 4375번 : 1 (자바, Java 풀이) 문제 https://www.acmicpc.net/problem/4375 4375번: 1 2와 5로 나누어 떨어지지 않는 정수 n(1 ≤ n ≤ 10000)가 주어졌을 때, 1로만 이루어진 n의 배수를 찾는 프로그램을 작성하시오. www.acmicpc.net 문제 설명 문제 풀이 1로만 이루어진 숫자는 1, 11, 111, 1111, 11111, ... 과 같은 숫자를 말하는 것이다. 이 중에 n의 배수가 되는 수가 몇 자리 수인가를 찾는 문제였다. 9901이 입력으로 주어진 예제를 보면 출력으로 12가 나온 것을 볼 수 있다. 12자릿수는 천억 대의 숫자이기 때문에 일반적인 자료형으로는 담아낼 수 없다. 때문에 이 문제에서는 수를 직접 만들어내지 말고 간접적으로 표현하라는 소리로 받아들일 수 있다. 이걸.. 2022. 7. 28.
[코딩 테스트/백준 알고리즘] BOJ.1874 : 스택 수열 (Java 풀이) 문제 https://www.acmicpc.net/problem/1874 1874번: 스택 수열 1부터 n까지에 수에 대해 차례로 [push, push, push, push, pop, pop, push, push, pop, push, push, pop, pop, pop, pop, pop] 연산을 수행하면 수열 [4, 3, 6, 8, 7, 5, 2, 1]을 얻을 수 있다. www.acmicpc.net 문제 이해 나는 일단 이 문제 이해부터가 쉽지 않았다. 문제 아래 힌트를 보고 겨우 이해할 수 있었다. 테스트 케이스를 나타내면 아래 표와 같다. case 1 연산 스택 sNum 스택 수열 (4 3 6 8 7 5 2 1) push(+) {1} 4 push(+) {1, 2} 4 push(+) {1, 2, 3} 4.. 2022. 7. 17.
[코딩 테스트/알고리즘] 알고리즘 공부 시작 뚱땅뚱땅 코딩 블로그의 새로운 컨텐츠 알고리즘 공부하기가 시작됐다. 최대한 오래 지속될 수 있도록 노력해보겠다. 알고리즘 우선 알고리즘이 무엇인지 부터 알아보자 알고리즘(영어: algorithm), 셈법은 수학과 컴퓨터과학, 언어학 또는 엮인 분야에서 어떠한 문제를 해결하기 위해 정해진 일련의 절차이다. 계산을 실행하기 위한 단계적 절차를 의미하기도 한다. 즉, 문제 풀이에 필요한 계산절차 또는 처리과정의 순서를 뜻한다. 프로그램명령어의 집합을 의미하기도 한다. [위키백과/ 알고리즘] 이게 무슨 소린가 싶겠지만 쉽게 이해할 수 있도록 현실 세계에서 비유할만한 것을 찾아보겠다. 알고리즘은 음식의 레시피와 비슷하다. 재료를 사용하여(입력을 받고) -> 레시피의 방법대로 요리(알고리즘으로 문제를 해결) -> .. 2022. 6. 29.
[백준 알고리즘/ C++] BOJ.2869 : 달팽이는 올라가고 싶다 문제 https://www.acmicpc.net/problem/2869 2869번: 달팽이는 올라가고 싶다 첫째 줄에 세 정수 A, B, V가 공백으로 구분되어서 주어진다. (1 ≤ B < A ≤ V ≤ 1,000,000,000) www.acmicpc.net 풀이 자료구조 - int up : 낮 동안 올라가는 높이 - int down : 밤 동안 내려가는 높이 - int day : 올라가는 데 걸리는 시간 - int height : 막대의 높이 알고리즘 - 수학 - 구현 설명 입력 : 2 1 5 문제 풀이를 간단하게 하려면 저 과정을 그대로 코드로 쓰면 된다. 하지만 이 문제의 시간 제한이 0.15이기 때문에 이 문제는 식을 세워서 풀어야 한다. 달팽이는 하루에 2칸을 올라간다. 때문에 아침에 정상까지 .. 2022. 2. 1.