본문 바로가기

백준19

[코딩테스트/ 백준 알고리즘] 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.
[코딩 테스트/ 백준 알고리즘] 1158번 : 요세푸스 문제 (Java 풀이) 문제 https://www.acmicpc.net/problem/1158 1158번: 요세푸스 문제 첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 5,000) www.acmicpc.net 해설 N = 7, K = 3인 케이스일 때 위와 같은 원탁이 만들어진다. 1번을 기준으로 세번째 자리에 앉은 3번 사람을 삭제한다. 기준을 3번의 왼쪽에 앉은 4번으로 바꿔서 세번째 자리에 앉은 6번 사람을 삭제한다. 이후 이 방식으로 테이블에 앉은 모든 사람을 삭제한다. 삭제된 사람을 순서대로 출력하면 이 된다. 풀이 이 문제는 큐를 활용하면 쉽게 해결할 수 있다. 우선 큐에 N까지의 숫자를 차례대로 넣어준다. 3번을 삭제하기 위해선 앞에 있는 1과 2가 나와줘야한다. 문제에 "한.. 2022. 7. 21.
[코딩 테스트/백준 알고리즘] 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.
[백준 알고리즘/ 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.