본문 바로가기
728x90
반응형

백준/15001 - 2000011

[백준] 18185번 : 라면 사기 https://www.acmicpc.net/problem/18185 18185번: 라면 사기 (Small) 라면매니아 교준이네 집 주변에는 N개의 라면 공장이 있다. 각 공장은 1번부터 N번까지 차례대로 번호가 부여되어 있다. 교준이는 i번 공장에서 정확하게 Ai개의 라면을 구매하고자 한다(1 ≤ i www.acmicpc.net 효율적으로 라면을 사는 방법을 구하는 문제입니다. 3 1 0 1 으로 들어 오게 될 경우 1,3번에서 3의 cost로 라면을 살 수 밖에 없어 6이 되게 됩니다. 5 1 1 1 0 2 으로 들어오게 될 경우 1,2,3에서 7의 cost로 살 수 있고, 5에서 3의 cost로 2번 살 수 있어 총 13의 cost를 사용하여 라면을 살 수 있습니다. 해당 입력만 보고 풀게 된다면 소.. 2024. 3. 21.
[백준] 16916번 : 부분 문자열(JAVA) https://www.acmicpc.net/problem/16916 16916번: 부분 문자열 첫째 줄에 문자열 S, 둘째 줄에 문자열 P가 주어진다. 두 문자열은 빈 문자열이 아니며, 길이는 100만을 넘지 않는다. 또, 알파벳 소문자로만 이루어져 있다. www.acmicpc.net 풀이 KMP와 문자열문제입니다.(KMP를 안다면 바로 풀 수 있는 문제) 먼저 getpi()함수를 통하여 맞추고자 하는 글자의 중복위치를 체크해줍니다. KMP()함수를 통하여 처음 문자열과 두번째 문자열을 1글자씩 비교합니다. 비교하면서 같을 경우 위치(j)를 증가시켜주고 j가 0보다 크고 서로 다를경우 맞는 위치까지 내려가기 위해 while문으로 j를 줄여줍니다. for문이 끝날때까지 없다면 0, j가 두번째 문자열의 길.. 2021. 8. 26.
[백준] 17298번 : 오큰수(JAVA) https://www.acmicpc.net/problem/17298 17298번: 오큰수 첫째 줄에 수열 A의 크기 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에 수열 A의 원소 A1, A2, ..., AN (1 ≤ Ai ≤ 1,000,000)이 주어진다. www.acmicpc.net 풀이 이중 포문(O(n2))으로 해결할려고하면 시간초과가 나옵니다. 알고리즘 분류에 스택이라고 있으니 스택으로 함 풀어봅시다. 먼저 입력받은 크기만큼 배열에 수를 입력받습니다. 스택이 비어있지 않고, 스택에 저장된 숫자의 배열 위치가 현재 체크하고자 하는 배열 위치보다 작으면, 그 배열 위치에 체크하고자 하는 배열위치의 값을 넣어주는 방식을 반복해줍니다. 스택에 수를 넣어주면서 그러다 1부터 size까지 다.. 2021. 8. 17.
[백준] 18129번 : 이상한 암호코드(JAVA) https://www.acmicpc.net/problem/18129 18129번: 이상한 암호코드 가톨릭대학교에 살고 있는 고양이 황톨릭은 이웃집 고양이 엄컴공을 좋아한다. 엄컴공은 알파벳으로만 이루어진 문자열을 이상한 암호로 바꾸는 일을 하고 있다. 이상한 암호로 바꾸기 위해선 www.acmicpc.net 풀이 구간이 다음 수 이상이면 1 아니면 0, 한번 체크했던 구간이면 pass해서 출력하는 방식입니다. 이미 지나갔던 구간인지 알파벳 수인 26으로 boolean 배열을 통해 체크하면 됩니다. 마지막 글자까지 구별해야해서 마지막에 " "으로 글자를 추가해줍니다. 소스코드 import java.io.BufferedReader; import java.io.IOException; import java.io.. 2021. 8. 15.
728x90
반응형