본문 바로가기

Programming456

백준 #1138 한 줄로 서기 이번 문제는 문제를 아무리 읽어도 이해하기 힘듭니다. 국어 문제? 난이도는 Silver I인데, 문제를 해석하는데 어려움이 많았습니다. 예제라도 많았다면 유추를 했을텐데, 예제만 가지고 유추하는 것도 힘들었죠. https://www.acmicpc.net/problem/1138 1138번: 한 줄로 서기 첫째 줄에 사람의 수 N이 주어진다. N은 10보다 작거나 같은 자연수이다. 둘째 줄에는 키가 1인 사람부터 차례대로 자기보다 키가 큰 사람이 왼쪽에 몇 명이 있었는지 주어진다. i번째 수는 0보다 크거나 같고, N-i보다 작거나 같다. www.acmicpc.net 문제를 재해석한다면 다음과 같습니다. 키가 1부터 N까지 사람들이 있습니다. 이들이 어떤 순서로 줄을 섭니다. 키를 그 사람의 번호라고 한다면.. 2020. 1. 4.
백준 #1132 합 이번 문제는 Gold I 난이도입니다. 난이도상으로는 꽤 어려운 문제입니다. 복면산 풀 듯이 풀면 됩니다. 그렇지만, 사실 어려운 문제는 아닙니다. 복잡한 알고리즘이 들어가는 것도 아니고, 구현이 복잡한 것도 아닙니다. https://www.acmicpc.net/problem/1132 1132번: 합 N개의 숫자가 주어진다. 이 숫자는 모두 자연수이고, 알파벳 A부터 J가 자리수를 대신해서 쓰여 있다. 이 알파벳은 모두 한 자리를 의미한다. 그리고, 각 자리수는 정확하게 알파벳 하나이다. 0으로 시작하는 숫자는 없다. 이때, 가능한 숫자의 합 중 최댓값을 출력하는 프로그램을 작성하시오. www.acmicpc.net 문제는 A~J 로 이루어진 문자열에 숫자를 대입해서 그 숫자들의 합이 최대가 되도록 할 때.. 2020. 1. 4.
#1126 같은 탑(dynamic programming) 이 문제는 수열이 주어졌을 때, 각각의 수를 왼쪽, 오른쪽, 또는 사용치 않음으로 분류했을 때, 왼쪽 수열의 합과 오른쪽 수열의 합이 같은 경우, 그 값의 최대값이 얼마인가를 묻는 것입니다. 예를 들어서, 14 3 20 15 15 14 24 23 15 이란 값이 있다고 하죠. 그러면, 왼쪽에 [14] 오른쪽에 [14]란 수열이 있다면, 그 합이 14로 같기 때문에 같은 합이 될 수 있습니다. 하지만 이것은 최대값은 아닙니다. [14, 15]와 [14, 15]와 같이 쉽게 찾을 수 있는 값만 해도 29로 더 큰 값이 되기 때문이죠. [14, 20, 15, 15] 와 [3, 14, 24, 23] 로 나누면 64라는 최대값을 얻습니다. 여기서 중요한 것은 주어진 수열의 한 숫자는 왼쪽, 오른쪽, 또는 사용치않.. 2020. 1. 4.
백준 #1113 수영장 만들기 블럭으로 쌓아 만든 공간이 있습니다. 블럭 사이사이는 물이 들어가지 않는다고 할 때, 이 블럭위로 물을 충분히 부우면, 얼마만큼 많은 물이 담길까요? 이 문제는 수영장 만들기라는 제목이지만, 내용을 해석해서 간단하게 풀어 말하면 위와 같습니다. 백준 사이트 문제들을 풀다 보면, 프로젝트 오일러 문제와의 차이가, 문제 자체를 누가 명확하게 설명하는가입니다. 백준 사이트는 스토리를 강조하는 느낌들이 많고, 프로젝트 오일러 문제들은 문제 풀기에 집중하는 느낌입니다. 물이 담길려면, 어떤 블럭 A의 높이가 a 라면, 적어도 a+1 이상의 블럭들로 A를 포함한 집단 블럭들을 감싸고 있어야 합니다. 그러면 블럭 A에 물이 담길 수 있습니다. 간단하게 생각하면 쉬운 문제이지만, 이 문제는 Platinum V로 난이도.. 2020. 1. 4.
백준 #1112 진법 변환 일반적으로 우리는 양수 진법 변환에 대해서는 자주 사용했지만, 음수 진법 변환에 대해서는 자주 안 썼죠. 예를 들어서 -10진법이라는 것이 있다면, -10진법 327은 \(327_{-10}=3\cdot(-10)^2+2\cdot(-10)+7=287\)이 될겁니다. 그뿐만 아니라 -10진법으로 63은 \(63_{-10}=6\cdot(-10)+3=-57\)이 되어 실제 음수인데, 표현에는 양수가 되기도 합니다. 예외가 좀 있어서인지 문제 난이도는 Gold II이고, 정답비율은 29.6%입니다. 이 문제가 음의 진법만 다루었다면 편했을텐데, 양의 진법까지 같이 아우르다보니 귀찮은 것이 많아졌네요. 예를 들어서 10진법 -23은 \(-23 = (-2) \cdot 10 + (-3) \) 으로 각 자리수 자체가 음수.. 2020. 1. 3.
백준 #1111 IQ Test 이번 문제는 이원 일차 방정식을 푸는 문제입니다. IQ Test란 이름을 가지고 있지만, 뭐 그렇게 거창한 것은 아닙니다. 이원 일차 방정식에서 미지수를 구하기 위해서는 최소 2개의 식이 필요합니다. Gold III 문제인데, 정답률은 15.4%로 아주 낮습니다. 실제 문제 난이도가 어려운 것은 아닌데, 틀릴 수 있는 소지가 많아서 난이도가 높게 잡혔다고 보입니다. 이원일차 방정식으로 풀어도 되겠지만, 인접한 두 항의 차를 구하는 방법도 있습니다. 앞에 방식보다는 인접한 두 항의 차를 이용하는 것이 더 편하겠죠. 사실 원리는 이원일차 방정식에서와 똑같습니다. \[ ax_0 + b = x_1 , ax_1 + b = x_2 \to a( x_1 - x_0 ) = x_2 - x_1 \] 일단 처음 3개의 항만 .. 2020. 1. 3.
728x90