본문 바로가기
반응형

백준144

백준 #1094 막대기 막대기란 문제는 알고리즘을 설명하고, 그 결과를 예측해야 합니다. 사실 여기서 설명하는 알고리즘은 복잡해보이지만, 그것이 무엇을 의미하는지 알면 손쉽게 문제를 풀 수 있습니다. 64와 절반으로 자른다라는 의미만 잘 이해한다면, 쉽습니다. 난이도는 Silver V이지만, 그보다 더 낮아져야 맞을 듯 합니다. https://www.acmicpc.net/problem/1094 1094번: 막대기 지민이는 길이가 64cm인 막대를 가지고 있다. 어느 날, 그는 길이가 Xcm인 막대가 가지고 싶어졌다. 지민이는 원래 가지고 있던 막대를 더 작은 막대로 자른다음에, 풀로 붙여서 길이가 Xcm인 막대를 만들려고 한다. 막대를 자르는 가장 쉬운 방법은 절반으로 자르는 것이다. 지민이는 아래와 같은 과정을 거쳐서 막대를.. 2020. 1. 1.
백준 #1083 소트(정렬) 이번 문제는 버블 정렬을 잘 이해하고 있다면, 쉽게 풀 수 있는 문제입니다. 난이도가 Gold IV이긴 하지만 더 낮아져도 상관 없을 문제라고 봅니다. 정답비율은 30.5% 정도로 높지가 않습니다. 정답자 184명. https://www.acmicpc.net/problem/1083 1083번: 소트 크기가 N인 배열 A가 있다. 배열에 있는 모든 수는 서로 다르다. 이 배열을 소트할 때, 연속된 두 개의 원소만 교환할 수 있다. 그리고, 교환은 많아봐야 S번 할 수 있다. 이때, 소트한 결과가 사전순으로 가장 뒷서는 것을 출력한다. www.acmicpc.net 버블 정렬은 이해하기 아주 쉬운 정렬이고, 구현도 쉽게 할 수 있죠. 버블정렬은 이웃한 것끼리 위치를 바꾼다는 개념입니다. 키 순으로 줄을 설 때.. 2019. 12. 31.
백준 #1081 합 숫자가 주어지면, 숫자에 있는 모든 자릿수의 합을 구할 수 있습니다. 예를 들어서 \(47 \to 4+7=11\)이 됩니다. 이 문제는 주어진 숫자 범위에 있는 모든 수에 대한 자릿수의 합을 구하는 것입니다. 이미 이 문제는 #1019에서 다루었던 것입니다. 단지 다른 것은 #1019 문제는 1부터 주어진 숫자까지의 자릿수 합이지만, 여기서는 시작하는 숫자가 주어진다는 것뿐입니다. #1019는 모든 자릿수들의 빈도를 출력하는 것이지만, 이 문제는 합을 표현하는 것입니다. 아이러니하게 #1019는 난이도가 Gold I 이지만, 이문제는 두단계 낮은 Gold III입니다. https://www.acmicpc.net/problem/1081 1081번: 합 첫째 줄에 L과 U이 주어진다. U은 0보다 크거나 같.. 2019. 12. 31.
백준 #1074 Z 이번 문제는 자기 복제 개념이 들어가 있는 문제입니다. 큰 모양에서도 Z를 이루고, 작은 모양에서도 Z를 이루는 형태로 배열을 채울 때, 주어진 행과 열에 어떤 숫자가 있는지 알아내는 문제입니다. 난이도는 Silver I입니다. 위의 그림과 같이 2x2라면 Z 모양대로 숫자를 배치합니다. 그런데 배열 갯수가 늘어나면, 과 같이 복잡한 형태가 됩니다. 여기서 주어진 칸의 숫자를 알아내면 됩니다. https://www.acmicpc.net/problem/1074 1074번: Z 한수는 2차원 배열 (항상 2^N * 2^N 크기이다)을 Z모양으로 탐색하려고 한다. 예를 들어, 2*2배열을 왼쪽 위칸, 오른쪽 위칸, 왼쪽 아래칸, 오른쪽 아래칸 순서대로 방문하면 Z모양이다. 만약, 2차원 배열의 크기가 2^N .. 2019. 12. 30.
백준 #1068 트리 이번 문제는 트리에서 어떤 노드를 삭제하고 나서의 말단 노드(leaf node)의 갯수를 구하는 것입니다. 위의 그림에서처럼 트리가 있는데, 1번 노드를 삭제하면, 3번 노드와 4번 노드도 같이 삭제되어서 2번 노드 하나만 말단 노드가 됩니다. 그 갯수를 구하면 됩니다. 난이도는 Silver I으로 되어 있지만, 구현은 어렵지는 않습니다. 문제의 원 링크입니다. https://www.acmicpc.net/problem/1068 1068번: 트리 첫째 줄에 트리의 노드의 개수 N이 주어진다. N은 50보다 작거나 같은 자연수이다. 둘째 줄에는 0번 노드부터 N-1번 노드까지, 각 노드의 부모가 주어진다. 만약 부모가 없다면 (루트) -1이 주어진다. 셋째 줄에는 지울 노드의 번호가 주어진다. www.acm.. 2019. 12. 30.
백준 #1067 이동(FFT) 이번 문제는 Platinum II 난이도 문제입니다. 이 문제를 풀기 위해서는 길쌈 코드(Convolution Code)에 대한 이해가 필요합니다. 길쌈 코드는 크게 순환하지 않는 코드와 순환하는 코드가 있습니다. 이 문제에서는 순환하는 코드와 관련된 문제입니다. 길쌈 코드는 통신에서 많이 사용되기는 하지만, 보통 시스템을 이해하는데 있어서 중요한 개념 중 하나입니다. N개의 수를 가지고 있는 두개의 수열 X, Y가 있습니다. 이 수열을 순환하는 길쌈 코드로 만들 때, 가장 큰 값을 찾아야 합니다. 길쌈 코드라는 것은 무엇인가를 알아야 합니다. 두개의 수열 { 1, 3, 2, 4 } 와 { 1, 2, 3, 4 } 가 있다고 해보죠. 이 두 수열을 길쌈 코드로 작성하면 다음과 같이 됩니다. 두개의 수열을 .. 2019. 12. 30.
728x90