목록메모/코딩 문제풀기&다시보기 (9)
JinHee's Board
문제 Merge Two Sorted Lists - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 풀이과정 public class ListNode { int val; ListNode next; ListNode() {} ListNode(int val) { this.val = val; } ListNode(int val, ListNode next) { this.val = val; this.next = next; } } - 문제에서 주어진 ListNode 클래스는 단방향..
문제 Word Subsets - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 풀이과정 - words1의 각 문자열에서 words2의 각 문자열들을 모두 포함하고 있는 문자열을 찾는 문제 - words2에서 동일한 문자가 연속으로 나온 경우 ('oo', 'pp' 등..) 연속된 형태의 문자열을 포함해야 한다. - 문제에서 조건으로 주어진 문자열은 모두 '소문자' 라 한다. 결과 import java.util.ArrayList; import java.util.Li..
문제 Evaluate the Bracket Pairs of a String - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 풀이과정 - s 문자열 에 있는 괄호로 묶인 문자열들을 knowledge 에 있는 문자열로 대체하는 문제 a. 문자열을 하나씩 보면서 '(' 가 나온 이후의 문자열은 따로 기억한다 b. ')' 가 나오면 기억한 문자를 보고 knowledge에 그 문자가 있는지 비교한다. c. 있는 경우 해당 문자로 대체하고 없는 경우는 '?'로 대체한다...
*정보처리기사 시험이 바뀌기 전에 기출문제로 나왔던 알고리즘 문제를 푸는 글 입니다. 따라서 현재 바뀐 정보처리기사 시험에는 나오는지 안나오는지 알수 없습니다. [문제] 5개의 숫자를 배열에 저장하고 저장된 숫자를 오름차순으로 정렬되도록 구현하시오. 정렬방식은 버블정렬 입니다. [풀기] 버블정렬 : 첫번째 자료와 두번째 자료를 비교하여 작은 값이 앞으로 위치하도록 정렬한 다음, 두번째 자료와 세번째 자료, 세번째 자료와 네번째 자료.. 이와 같은 방식으로 정렬하는 것 버블정렬은 뒤에서부터 정렬된다. class bubbleClass{ public void sortArray(int[] paramArray) { int temp; // 값 정렬을위한 임시변수 for(int i = 1; i < paramArray..
11729번: 하노이 탑 이동 순서 세 개의 장대가 있고 첫 번째 장대에는 반경이 서로 다른 n개의 원판이 쌓여 있다. 각 원판은 반경이 큰 순서대로 쌓여있다. 이제 수도승들이 다음 규칙에 따라 첫 번째 장대에서 세 번째 장대로 www.acmicpc.net [풀기] 조건1. 3개의 기둥이 있고 하나의 기둥에 원판이 큰 순서대로 아래부터 깔려있다. 조건2. 첫번째 기둥에서 세번째 기둥까지 원판을 모두 옮겨야 하고 큰 원판이 작은원판 위에 올라갈 수 없다. 조건3. 원판은 한번에 한개씩만 이동한다. 처음에는 Stack을 사용하여 Stack의 push() pop()을 이용해 풀어보려 했지만 원판을 옮기는 회수가 최소 값이어야 하고, 옮기는 과정을 모두 출력해야 한다는 것에서 막혔다. 책과 검색으로 찾아본 결과..
*정보처리기사 시험이 바뀌기 전에 기출문제로 나왔던 알고리즘 문제를 푸는 글 입니다. 따라서 현재 바뀐 정보처리기사 시험에는 나오는지 안나오는지 알수 없습니다. [문제] 10개의 숫자를 배열에 저장하고 저장된 숫자를 오름차순으로 정렬되도록 구현하시오. 정렬방식은 선택정렬 입니다. [풀기] 선택정렬 : 첫번째 숫자를 두번째 숫자부터 마지막 숫자까지 차례대로 비교하여 가장 작은 값은 첫번째로 놓고, 두번째 숫자를 세번재 숫자부터 다시 차례대로 비교하여 정렬하는 방식 8, 5, 2, 6, 4 -(8과 5비교)-> 5, 8, 2, 6, 4 -(5와 2 비교)-> 2, 8, 5, 6, 4 -(2와 6비교)-> 2, 8, 5, 6, 4 -(2와 4비교)-> 2, 8, 5, 6, 4 ....(비교반복) 마지막 숫자를..
*정보처리기사 시험이 바뀌기 전에 기출문제로 나왔던 알고리즘 문제를 푸는 글 입니다. 따라서 현재 바뀐 정보처리기사 시험에는 나오는지 안나오는지 알수 없습니다. [문제] 어떤 정수의 약수중 자신을 제외한 약수를 모두 합하면 자신과 같아지는 수가 있다. 예를 들어 6의 약수 1, 2, 3, 6 중 6을 제외한 1, 2, 3 을 더하면 6이 되어 자신과 같아진다. 4부터 1000까지 정수중 이러한 약수를 갖는 수를 찾아 출력하는 알고리즘을 완성하시오. [풀기] 문제에서 친절하게도 핵심 키워드를 알려준다. * 최대의 약수의미 설명 : 어떤수의 모든 약수중 자신을 제외하면 그 절반값이 최대의 약수가 된다. 예를들어 20의 모든 약수는 1, 2, 4, 5, 10, 20 인데 자신(20)을 제외하면 20의 절반값인..
매운 것을 좋아하는 Leo는 모든 음식의 스코빌 지수를 K 이상으로 만들고 싶습니다. 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 Leo는 스코빌 지수가 가장 낮은 두 개의 음식을 아래와 같이 특별한 방법으로 섞어 새로운 음식을 만듭니다. 섞은 음식의 스코빌 지수 = 가장 맵지 않은 음식의 스코빌 지수 + (두 번째로 맵지 않은 음식의 스코빌 지수 * 2) Leo는 모든 음식의 스코빌 지수가 K 이상이 될 때까지 반복하여 섞습니다. Leo가 가진 음식의 스코빌 지수를 담은 배열 scoville과 원하는 스코빌 지수 K가 주어질 때, 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 섞어야 하는 최소 횟수를 return 하도록 solution 함수를 작성해주세요. 제한 사항 scoville의 길이..
0 또는 양의 정수가 주어졌을 때, 정수를 이어 붙여 만들 수 있는 가장 큰 수를 알아내 주세요. 예를 들어, 주어진 정수가 [6, 10, 2]라면 [6102, 6210, 1062, 1026, 2610, 2106]를 만들 수 있고, 이중 가장 큰 수는 6210입니다. 0 또는 양의 정수가 담긴 배열 numbers가 매개변수로 주어질 때, 순서를 재배치하여 만들 수 있는 가장 큰 수를 문자열로 바꾸어 return 하도록 solution 함수를 작성해주세요. 제한 사항 numbers의 길이는 1 이상 100,000 이하입니다. numbers의 원소는 0 이상 1,000 이하입니다. 정답이 너무 클 수 있으니 문자열로 바꾸어 return 합니다. 입출력 예 numbersreturn [6, 10, 2] 6210..