1) 생각 첫 번째 생각 주어진 시간이 30초이고 A의 길이도 10000 이하이므로 A를 처음부터 쭉 훝으면서 B와 첫글자가 같으면 그 뒤로 B가 나오는지 확인하면서 B가 나온다면 반복문 변수를 B의 길이 -1 만큼 해준뒤 다시 검색하는 방식을 생각해보았다. 예제로 주어진 상황은 통과했지만 답안을 제출하니 'Runtime error'가 떳다. 생각을 해보니 만약 A의 마지막 글자가 B의 첫글자와 같다면 조건문이 만족되므로 안으로 들어가서 해당 index에서 B의 길이만큼 A를 자른 문자열이 B와 같은지 판단할 때 A의 길이를 벗어나므로 오류가 나게된 것이다. 두 번째 생각 첫 번째를 변형해도 풀 수 있겠지만 다른 방식으로 접근을 생각해보았다. 문자열 메소드 중 indexOf라는 메소드를 이용하여 첫 번째..
1) 생각 주어진 칼로리의 값을 넘지 않도록 더해가면서 맛의 만족도가 최대가 되는 값을 구하자. 재료의 수가 최대 20개로 많지 않으므로 주어진 시간인 Java 8초를 생각하면 모든 조건을 따져봐돠 충분히 풀 수 있을것이다. 2) 방안 재귀를 통한 DFS 방식을 통해 쭉욱 살펴보면서 그 값이 더해졌을 경우, 더해지지 않았을 경우를 따지면 된다. 12345678910111213141516171819202122232425262728293031323334353637383940414243import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.Arrays;import java.u..
1) 생각 주어진 부등호 조건을 만족하는 제일 작은 수와 제일 큰 수를 구해야한다. 특징으로 0도 포함된다. 모든 수를 한 번씩만 쓸 수 있으므로 방문 조건을 추가해서 각 수마다 0~9까지 비교해서 판단하였다. 0부터 쭉 비교해서 나아가면 자연스럽게 List에 추가되어있는 수중 Index 0에 저장된 수가 작은 수 마지막에 저장된 수가 가장 큰 수가 된다. 조건 문을 통해 를 판단하고 if문을 통해 이전 숫자와 현 숫자를 비교하였는데 자꾸 오류가나서 살펴보니 한 줄이라 조건문에 { } 를 사용하지 않고 작성하였더니 이클립스가 맨 위의 if문과 짝지어져어할 else if문을 문단에 상관없이 계속 바로 위의 if문과 짝지어줘서 그런것이였다. 2) 방안 조건문에 { }를 추가하여 구분하여줬다. 0~..
- Total
- Today
- Yesterday