알고리즘(5)
-
[백준] 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 스택을 활용해 정해진 수열을 만드는 문제입니다. 바로 이해가 되지 않았던 문제인데, 숫자 n이 주어지면 1~n까지 숫자들을 오름차순으로 정렬된 스택에 저장하면서 push와 pop으로 주어진 수열을 반환해주면 됩니다. 저는 for문으로 접근했다가 중첩 시 조건에 맞추기가 어려워 못풀었습니다. 풀이를 보니 반복 조건을 넣을 수 있는 while문을 사용해야 되더군요. 또한..
2020.11.06 -
[백준] 11047 - 동전 0
백준 바로가기 11047번: 동전 0 첫째 줄에 N과 K가 주어진다. (1 ≤ N ≤ 10, 1 ≤ K ≤ 100,000,000) 둘째 줄부터 N개의 줄에 동전의 가치 Ai가 오름차순으로 주어진다. (1 ≤ Ai ≤ 1,000,000, A1 = 1, i ≥ 2인 경우에 Ai는 Ai-1의 배수) www.acmicpc.net 거스름돈 최소 동전 개수로 구하는 문제를 이전에 풀어봤기 때문에 어렵진 않았다. 하지만 혼자 틀린 반례를 상상하느라 이상한 조건을 넣어줘 한 번 틀렸다. 주어지는 동전 가치는 i번째 동전이 i-1번째 동전의 배수이기 때문에 만일 target 동전 값이 700일 때 500과 300이 동시에 존재할 수는 없다. 만일 300이 있다면 500보다 300을 넣고 나머지를 1로 채워줘야 한다. 음..
2020.10.21 -
[백준] 9251 - LCS(Longest Common Subsequence)
백준 바로가기 9251번: LCS LCS(Longest Common Subsequence, 최장 공통 부분 수열)문제는 두 수열이 주어졌을 때, 모두의 부분 수열이 되는 수열 중 가장 긴 것을 찾는 문제이다. 예를 들어, ACAYKP와 CAPCAK의 LCS는 ACAK가 된다. www.acmicpc.net DP 알고리즘 이어서 푸는 중입니다. 문제 난이도는 solved.ac 기준 풀었던 것중 최상이었고 Gold5 였습니다. 난이도 체감은 알고리즘 개념보다 수학적 사고능력에 따라 높낮이가 결정되는 것 같습니다. DP를 알고있지만 위 문제는 어떻게 적용해야 할지 감이 오지 않았습니다. DP 알고리즘 문제의 특징인듯 합니다. 따라서 많이 풀어보고 다양한 형태의 문제를 접할수록 유리합니다. 제가 참고한 블로그 입..
2020.10.15 -
[백준] 11654 - 아스키 코드 변환
백준링크 : 바로가기 11654번: 아스키 코드 알파벳 소문자, 대문자, 숫자 0-9중 하나가 주어졌을 때, 주어진 글자의 아스키 코드값을 출력하는 프로그램을 작성하시오. www.acmicpc.net #문자열 #아스키 코드 아스키 코드 변환에 대한 개념을 정립할 수 있는 문제. char 문자가 숫자인지 문자인지 판별하는 Character.isDigit 클래스 메서드는 덤. 아스키 코드 7비트로 표현한 정보교환용 부호체계. 총 128개의 부호가 사용된다. 2바이트 이상의 코드를 표현 못하기 때문에 유니코드(UTF-8)가 현재 국제표준 위상을 가지고 있다. Dec 컬럼이 10진수로 나타낸 숫자이고, Char 컬럼이 부호(아스키 코드)이다. Java에서의 아스키 코드 문자 to 숫자, 숫자 to 문자 1) 숫..
2020.09.02 -
[백준] 1065 - 한수
백준링크: 바로가기 1065번: 한수 어떤 양의 정수 X의 각 자리가 등차수열을 이룬다면, 그 수를 한수라고 한다. 등차수열은 연속된 두 개의 수의 차이가 일정한 수열을 말한다. N이 주어졌을 때, 1보다 크거나 같고, N보다 작거나 �� www.acmicpc.net # 함수 # 브루트포스 알고리즘 내가 약한 부분을 알게 됐다. 브루트 알고리즘 처럼 로직 구현 과정이 한 스쿱으로 끝나지 않고 겉만 햝기 쉬운 문제. 걸린 시간 중 50%는 등차수열을 이해못해서 허비했다. 공차(수열들의 차이)가 0, 음수(-)도 허용되고 연속된 수가 동일한 수의 차이로 존재해야 하는 수열임.. 문제를 간략 요약하자면 입력된 N까지 각 자릿 수가 등차수열로 이루어진 한수의 개수를 출력하면 된다. 예제 입출력을 보면 1 ~ 9..
2020.09.01