본문 바로가기

Algorithm22

[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.
[Java] 20. Valid Parentheses 문제 설명 : 한 마디로 괄호가 정상적으로 열고 닫혀있는지 확인하는 문제이다. class Solution { public boolean isValid(String s) { Stack stack = new Stack(); boolean result = false; if(s.length() == 1) return false; for(int i=0; i 2023. 6. 7.
[Java] 14. Longest Common Prefix 문제 설명 : - 1차원 배열에 여러개의 문자열이 담겨있는데, 문자열들 간에 동일한 Prefix(접두사)가 있다면 출력하는 문제 class Solution { public String longestCommonPrefix(String[] strs) { //가장 길이가 짧은 녀석을 찾음. //그 녀석을 for문 돌리면서 다른 녀석들과 하나씩 비교 String shortest = strs[0]; StringBuffer buffer = new StringBuffer(""); boolean check = true; for(String s : strs){ if(shortest.length() > s.length()) shortest = s; } for(int i=0; i 2023. 6. 7.
[Java] 13. Roman to Integer 문제 설명 : - 로마숫자가 문자열로 주어지고 이를 아라비아 숫자로 변환하는 문제 - 로마숫자의 예외케이스가 존재해서 예외처리만 해주면 되는 문제이다. import java.util.*; class Solution { public int romanToInt(String s) { //IV = 4, IX = 9 //XL = 40, XC = 90 //CD = 400, CM = 900 HashMap map = new HashMap(); int result = 0; map.put("I",1); map.put("V",5); map.put("X",10); map.put("L",50); map.put("C",100); map.put("D",500); map.put("M",1000); for(int i=0; i 2023. 6. 7.