본문 바로가기

초보를 위한 java 알고리즘 해설

[백준알고리즘-JAVA]1874번 풀이(스택 수열) - 초보도 이해하는 풀이 안녕하세요 인포돈 입니다. 백준 알고리즘 1874번 풀이입니다. * 참고사항 - 개발환경은 eclipse을 기준으로 작성되었습니다. - java언어를 이용하여 문제를 풀이합니다. - 알고리즘 문제는 풀이를 보고 해답을 찾는 것도 중요하지만 무엇보다 스스로 풀이를 시도해봐야 합니다!! (해당 풀이를 보기 전 충분히 문제에 대해 고민해봐야 합니다!) - 해당 풀이 말고도 수많은 풀이 방법이 존재합니다. 백준 1874 (스택 수열) 문제 스택 (stack)은 기본적인 자료구조 중 하나로, 컴퓨터 프로그램을 작성할 때 자주 이용되는 개념이다. 스택은 자료를 넣는 (push) 입구와 자료를 뽑는 (pop) 입구가 같아 제일 나중에 들어간 자료가 제일 먼저 나오는 (LIFO, Last in First out) 특성.. 더보기
[백준알고리즘-JAVA]18258번 풀이(큐2) - 초보도 이해하는 풀이 안녕하세요 인포돈 입니다. 백준 알고리즘 18258번 풀이입니다. * 참고사항 - 개발환경은 eclipse을 기준으로 작성되었습니다. - java언어를 이용하여 문제를 풀이합니다. - 알고리즘 문제는 풀이를 보고 해답을 찾는 것도 중요하지만 무엇보다 스스로 풀이를 시도해봐야 합니다!! (해당 풀이를 보기 전 충분히 문제에 대해 고민해봐야 합니다!) - 해당 풀이 말고도 수많은 풀이 방법이 존재합니다. 백준 18258 (큐 2) 문제 정수를 저장하는 큐를 구현한 다음, 입력으로 주어지는 명령을 처리하는 프로그램을 작성하시오. 명령은 총 여섯 가지이다. push X: 정수 X를 큐에 넣는 연산이다. pop: 큐에서 가장 앞에 있는 정수를 빼고, 그 수를 출력한다. 만약 큐에 들어있는 정수가 없는 경우에는 -.. 더보기
[백준알고리즘-JAVA]1541번 풀이(잃어버린 괄호) - 초보도 이해하는 풀이 안녕하세요 인포돈 입니다. 백준 알고리즘 1541번 풀이입니다. * 참고사항 - 개발환경은 eclipse을 기준으로 작성되었습니다. - java언어를 이용하여 문제를 풀이합니다. - 알고리즘 문제는 풀이를 보고 해답을 찾는 것도 중요하지만 무엇보다 스스로 풀이를 시도해봐야 합니다!! (해당 풀이를 보기 전 충분히 문제에 대해 고민해봐야 합니다!) - 해당 풀이 말고도 수많은 풀이 방법이 존재합니다. 잃어버린 괄호 알고리즘은 문제를 보고 괄호를 일일이 넣어보면서 찾는다면, 복잡한 알고리즘이 짜일 수 있습니다. 반대로 어떠한 방식으로 더하기 빼기를 해야 최소의 값이 나오는지 그 규칙을 알아낸다면 보다 간단한 문제가 될 수 있는 문제입니다. 백준 1541 (잃어버린 괄호) 문제 세준이는 양수와 +, -, 그리.. 더보기
[백준알고리즘-JAVA]12865번 풀이(평범한 배낭) - 초보도 이해하는 풀이 안녕하세요 인포돈 입니다. 백준 알고리즘 12865번 풀이입니다. * 참고사항 - 개발환경은 eclipse을 기준으로 작성되었습니다. - java언어를 이용하여 문제를 풀이합니다. - 알고리즘 문제는 풀이를 보고 해답을 찾는 것도 중요하지만 무엇보다 스스로 풀이를 시도해봐야 합니다!! (해당 풀이를 보기 전 충분히 문제에 대해 고민해봐야 합니다!) - 해당 풀이 말고도 수많은 풀이 방법이 존재합니다. 백준 12865 (평범한 배낭) 문제 이 문제는 아주 평범한 배낭에 관한 문제이다. 한 달 후면 국가의 부름을 받게 되는 준서는 여행을 가려고 한다. 세상과의 단절을 슬퍼하며 최대한 즐기기 위한 여행이기 때문에, 가지고 다닐 배낭 또한 최대한 가치 있게 싸려고 한다. 준서가 여행에 필요하다고 생각하는 N개의.. 더보기
[백준알고리즘-JAVA]1912번 풀이(연속합) - 초보도 이해하는 풀이 안녕하세요 인포돈 입니다. 백준 알고리즘 1912번 풀이입니다. * 참고사항 - 개발환경은 eclipse을 기준으로 작성되었습니다. - java언어를 이용하여 문제를 풀이합니다. - 알고리즘 문제는 풀이를 보고 해답을 찾는 것도 중요하지만 무엇보다 스스로 풀이를 시도해봐야 합니다!! (해당 풀이를 보기 전 충분히 문제에 대해 고민해봐야 합니다!) - 해당 풀이 말고도 수많은 풀이 방법이 존재합니다. 백준 1912 (연속합) 문제 n개의 정수로 이루어진 임의의 수열이 주어진다. 우리는 이 중 연속된 몇 개의 수를 선택해서 구할 수 있는 합 중 가장 큰 합을 구하려고 한다. 단, 수는 한 개 이상 선택해야 한다. 예를 들어서 10, -4, 3, 1, 5, 6, -35, 12, 21, -1이라는 수열이 주어졌.. 더보기
[백준알고리즘-JAVA]9251번 풀이(LCS) - 초보도 이해하는 풀이 안녕하세요 인포돈 입니다. 백준 알고리즘 9251번 풀이입니다. * 참고사항 - 개발환경은 eclipse을 기준으로 작성되었습니다. - java언어를 이용하여 문제를 풀이합니다. - 알고리즘 문제는 풀이를 보고 해답을 찾는 것도 중요하지만 무엇보다 스스로 풀이를 시도해봐야 합니다!! (해당 풀이를 보기 전 충분히 문제에 대해 고민해봐야 합니다!) - 해당 풀이 말고도 수많은 풀이 방법이 존재합니다. 백준 9251 (LCS) 문제 LCS(Longest Common Subsequence, 최장 공통부분 수열) 문제는 두 수열이 주어졌을 때, 모두의 부분 수열이 되는 수열 중 가장 긴 것을 찾는 문제이다. 예를 들어, ACAYKP와 CAPCAK의 LCS는 ACAK가 된다. 입력 첫째 줄과 둘째 줄에 두 문자열.. 더보기
[백준알고리즘-JAVA]2565번 풀이(전깃줄) - 초보도 이해하는 풀이 안녕하세요 인포돈 입니다. 백준 알고리즘 2565번 풀이입니다. * 참고사항 - 개발환경은 eclipse을 기준으로 작성되었습니다. - java언어를 이용하여 문제를 풀이합니다. - 알고리즘 문제는 풀이를 보고 해답을 찾는 것도 중요하지만 무엇보다 스스로 풀이를 시도해봐야 합니다!! (해당 풀이를 보기 전 충분히 문제에 대해 고민해봐야 합니다!) - 해당 풀이 말고도 수많은 풀이 방법이 존재합니다. 백준 2565 (전깃줄) 문제 두 전봇대 A와 B 사이에 하나둘씩 전깃줄을 추가하다 보니 전깃줄이 서로 교차하는 경우가 발생하였다. 합선의 위험이 있어 이들 중 몇 개의 전깃줄을 없애 전깃줄이 교차하지 않도록 만들려고 한다. 예를 들어, 과 같이 전깃줄이 연결되어 있는 경우 A의 1번 위치와 B.. 더보기
[백준알고리즘-JAVA]11054번 풀이(가장 긴 바이토닉 부분 수열) - 초보도 이해하는 풀이 안녕하세요 인포돈 입니다. 백준 알고리즘 11054번 풀이입니다. * 참고사항 - 개발환경은 eclipse을 기준으로 작성되었습니다. - java언어를 이용하여 문제를 풀이합니다. - 알고리즘 문제는 풀이를 보고 해답을 찾는 것도 중요하지만 무엇보다 스스로 풀이를 시도해봐야 합니다!! (해당 풀이를 보기 전 충분히 문제에 대해 고민해봐야 합니다!) - 해당 풀이 말고도 수많은 풀이 방법이 존재합니다. 백준 11054 (가장 긴 바이토닉 부분 수열) 문제 수열 S가 어떤 수 Sk를 기준으로 S1 SN을 만족한다면, 그 수열을 바이 토닉 수열이라고 한다. 예를 들어, {10, 20, 30, 25, 20}과 {10, 20, 30, 40}, {50, 40, 25, 10} 은 바이토닉바이 토닉 수열이지만, {1,.. 더보기