본문 바로가기

Java22

[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.
[Java] 9. Palindrome Number 문제 설명 : 주어진 숫자가 대칭인지 확인하는 문제 class Solution { public boolean isPalindrome(int x) { //뒤집었을 때, Origin과 같으면 palindrome String str = x + ""; StringBuffer strBuffer = new StringBuffer(""); for(int i = str.length()-1; i >= 0; i--){ strBuffer.append(str.charAt(i) + ""); } return str.equals(strBuffer.toString()); } } 해설 : - String으로 변경하여, 문자열을 뒤집어 처음 문자열과 동일한지 확인 - 문자열을 뒤집을 때 오랜만에 StringBuffer를 사용해보았다. 2023. 6. 7.