diff --git a/itpark1018/PalindromeNumber.java b/itpark1018/PalindromeNumber.java new file mode 100644 index 0000000..6f83aaa --- /dev/null +++ b/itpark1018/PalindromeNumber.java @@ -0,0 +1,19 @@ +package itpark1018; + +import java.util.Stack; + +public class PalindromeNumber { + public boolean isPalindrome(int x) { + String xString = Integer.toString(x); + Stack stack = new Stack<>(); + for (int i = 0; i < xString.length(); i++) { + stack.push(xString.charAt(i)); + } + + StringBuilder stringBuilder = new StringBuilder(); + while (!stack.isEmpty()) { + stringBuilder.append(stack.pop()); + } + return stringBuilder.toString().equals(xString); + } +} diff --git a/itpark1018/RomanToInteger.java b/itpark1018/RomanToInteger.java new file mode 100644 index 0000000..6cd6db1 --- /dev/null +++ b/itpark1018/RomanToInteger.java @@ -0,0 +1,35 @@ +package itpark1018; + +import java.util.HashMap; + +public class RomanToInteger { + public int romanToInt(String s) { + + HashMap romanValues = new HashMap<>(); + romanValues.put('I', 1); + romanValues.put('V', 5); + romanValues.put('X', 10); + romanValues.put('L', 50); + romanValues.put('C', 100); + romanValues.put('D', 500); + romanValues.put('M', 1000); + + int result = 0; + int preValue = 0; + + for (int i = s.length() - 1; i >= 0 ; i--) { + + int value = romanValues.get(s.charAt(i)); + + if (value < preValue) { + result -= value; + } else { + result += value; + } + + preValue = value; + } + + return result; + } +}