
한번 꼬여서 계속 덮어뒀던 문제,,, 새롭게 시작하니 생각보다 되게 간단하게 풀렸다,,,! Problem https://www.acmicpc.net/problem/1011 1011번: Fly me to the Alpha Centauri 우현이는 어린 시절, 지구 외의 다른 행성에서도 인류들이 살아갈 수 있는 미래가 오리라 믿었다. 그리고 그가 지구라는 세상에 발을 내려 놓은 지 23년이 지난 지금, 세계 최연소 ASNA 우주 비행 www.acmicpc.net 문제를 요약하자면, 한번 작동할 때 앞서 이동한 거리가 k광년이면 k-1, k, k+1광년만큼을 이동할 수 있는 우주선이 있다. 해당 우주선을 이용해 이동을 할 것이다. 예를 들어 우주선을 처음 작동할 때는 무조건 1광년만큼을 이동할 수 있으며 도착..

https://www.acmicpc.net/problem/1914 1914번: 하노이 탑 세 개의 장대가 있고 첫 번째 장대에는 반경이 서로 다른 n개의 원판이 쌓여 있다. 각 원판은 반경이 큰 순서대로 쌓여있다. 이제 수도승들이 다음 규칙에 따라 첫 번째 장대에서 세 번째 장대로 www.acmicpc.net 가장 기본적이게 보이는 하노이 탑 문제이다. 우선 내가 이문제를 해결할 방식은 다음과 같다. N층의 하노이 탑을 N-1층의 하노이탑 문제를 해결할 수 있도록 함. 즉 재귀로 구현할 수 있을 것이다. 이런 과정을 거치면 우선 N층의 이동 횟수는 ( N-1층 이동 횟수 ) * 2 + 1 이다. 위 내용들을 바탕으로 코드 구현 ( ** 정답 아님 ** ) #include using namespace st..

https://www.acmicpc.net/problem/1759 1759번: 암호 만들기 첫째 줄에 두 정수 L, C가 주어진다. (3 ≤ L ≤ C ≤ 15) 다음 줄에는 C개의 문자들이 공백으로 구분되어 주어진다. 주어지는 문자들은 알파벳 소문자이며, 중복되는 것은 없다. www.acmicpc.net 치킨배달과 굉장히 비슷한 문제라고 느껴진다. https://chhggg.tistory.com/28 [백준 C++] 15686 치킨 배달 https://www.acmicpc.net/problem/15686 15686번: 치킨 배달 크기가 N×N인 도시가 있다. 도시는 1×1크기의 칸으로 나누어져 있다. 도시의 각 칸은 빈 칸, 치킨집, 집 중 하나이다. 도시의 칸은 (r, c)와 같은 형태 chhggg...

https://www.acmicpc.net/problem/15686 15686번: 치킨 배달 크기가 N×N인 도시가 있다. 도시는 1×1크기의 칸으로 나누어져 있다. 도시의 각 칸은 빈 칸, 치킨집, 집 중 하나이다. 도시의 칸은 (r, c)와 같은 형태로 나타내고, r행 c열 또는 위에서부터 r번째 칸 www.acmicpc.net 우선, "최대 M개"라는 워딩이 매우 신경쓰인다. 무조건 M개만 남기고 없애는 게 아니라 막,, M-3개를 남기는 게 더 효율적일 수 도 있나?라는 생각을 했음 → 그럴리 없다. 무조건 M개여야 치킨거리가 가장 작다!! 우선 정답 코드는 바로 아래 코드이다. #include using namespace std; typedef long long ll; ll n, m, tmp; ..

https://www.acmicpc.net/problem/2042 2042번: 구간 합 구하기 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000,000)과 M(1 ≤ M ≤ 10,000), K(1 ≤ K ≤ 10,000) 가 주어진다. M은 수의 변경이 일어나는 횟수이고, K는 구간의 합을 구하는 횟수이다. 그리고 둘째 줄부터 N+1번째 줄 www.acmicpc.net 세그먼트 트리 구현... #include using namespace std; typedef long long ll; ll n, m, k; //수의 개수, 수의 변경 횟수, 구간의 합 구하는 횟수 ll SegmentTree[4000004]; ll arr[1'000'000 + 10]; ll a, b, c; ll make_SegmentTree..

https://www.acmicpc.net/problem/1918 1918번: 후위 표기식 첫째 줄에 중위 표기식이 주어진다. 단 이 수식의 피연산자는 알파벳 대문자로 이루어지며 수식에서 한 번씩만 등장한다. 그리고 -A+B와 같이 -가 가장 앞에 오거나 AB와 같이 *가 생략되는 등의 www.acmicpc.net 단순히 infix에서 postfix로 변환하는 문제이다. 스택을 이용해 해결 가능할 듯하다. 모든 식이 괄호로 묶여있는 것이 아니므로 연산자의 우선순위를 고려해서 하면 될 듯하다. infix를 한글자씩 읽으면서 진행 1) 피연산자 -> 바로 출력 2) '(' -> 스택에 push 3) * or / -> 본인과 우선순위가 같은 연산자 (* or /)가 스택에 있으면 pop해서 출력 (+ or -..

https://www.acmicpc.net/problem/20922 20922번: 겹치는 건 싫어 홍대병에 걸린 도현이는 겹치는 것을 매우 싫어한다. 특히 수열에서 같은 원소가 여러 개 들어 있는 수열을 싫어한다. 도현이를 위해 같은 원소가 $K$개 이하로 들어 있는 최장 연속 부분 수열 www.acmicpc.net 투포인터 글쓸때 한번 시도해봤다가 코드가 꼬여서 덮어뒀던 문제이다... 문제에서 요구하는 것이 "최장 연속 부분 수열의 길이"이므로 투포인터 알고리즘으로 해결 가능할 것이다. 투포인터 알고리즘의 개념은 아래 링크에 있다. https://chhggg.tistory.com/15 투포인터 알고리즘 (Two pointers Algorithm) 투포인터 알고리즘은 슬라이딩 윈도우 알고리즘이라고도 하며..