본문 바로가기

Algorithm21

[Java] 28. Find the Index of the First Occurrence in a String 문제 설명 : String에서 indexOf 함수를 알고있는지 물어보는 문제이다. 또는 indexOf 를 구현하는 문제이다. class Solution { public int strStr(String haystack, String needle) { return haystack.indexOf(needle); } } 해설 : Java에서는 String 클래스가 indexOf를 지원하기 때문에 이를 활용해 문제를 해결했다. 2023. 6. 8.
[Java] 27. Remove Element 문제 설명 : 지난 문제와 동일하게 답안을 확인하는 코드 양식이 정해져있었습니다. 문제 자체는 주어진 1차원 배열에서 주어진 val값을 제외시키면 되는 아주 간단한 문제였습니다. class Solution { public int removeElement(int[] nums, int val) { int n = nums.length; int k = 0; if (n == 0) { return 0; } //k는 현재 중복되지 않은 nums의 위치 for (int i = 0; i < n; i++) { if (nums[i] != val) { nums[k] = nums[i]; k++; } } return k; } } 해설 : 지난 문제와 마찬가지로 k의 값을 포인터 처럼 활용해서 이동시키고, val과 현재 값을 비교.. 2023. 6. 7.
[Java] 26. Remove Duplicates from Sorted Array 문제 설명 : - 이 문제는 문제보다 설명을 이해하는게 더 어려웠습니다. - 문제를 찾아서 확인해보시면, 문제 자체는 단순히 Array에서 중복값을 제거하는 문제인데 답안확인 코드의 규격이 정해져 있는 형태였습니다. class Solution { public int removeDuplicates(int[] nums) { int n = nums.length; int k = 1; if (n == 0) { return 0; } //k는 현재 중복되지 않은 nums의 위치 for (int i = 1; i < n; i++) { if (nums[i-1] != nums[i]) { nums[k] = nums[i]; k++; } } return k; } } 해설 : - 우선 이런 문제 유형을 처음봐서 조금 당황해서 검색.. 2023. 6. 7.
[Java] 21. Merge Two Sorted Lists 문제 풀이에 앞서 해당 문제에서는 LinkedList의 개념을 알아야 하기에 간단히 정리해보겠습니다. LinkedList 란? LinkedList는 자바에서 제공하는 자료구조 중 하나로, 데이터를 연결된 노드(Node)의 형태로 저장하는 방식을 사용합니다. 각 노드는 데이터와 다음 노드를 가리키는 링크(포인터)로 구성됩니다. 아래는 LinkedList를 사용한 예제 코드입니다. LinkedList에 문자열을 저장하고, 데이터를 추가, 삭제, 탐색하는 방법을 보여줍니다. import java.util.LinkedList; public class LinkedListExample { public static void main(String[] args) { // LinkedList 생성 LinkedList li.. 2023. 6. 7.