LeetCode 알고리즘 문제풀이 15

[LeetCode-268] Missing Number 문제풀이 - Java 사용

Two Sum 문제풀이 - Java 사용 입력받은 값에서 누락된 숫자를 찾기 boolean type 배열을 선언후 초기값인 false for문을 이용하여 값이 들어있으면 true로 저장 다시 for문을 이용하여 false (누락된 값)을 return을 해주었다. class Solution { public int missingNumber(int[] nums) { // boolean을 배열 타입으로 선언 기본값은 false // nums[] 배열 크기 + 1 만큼 false로 저장 boolean[] present = new boolean[nums.length + 1]; // nums[] 크기 만큼 이미 저장되어 있는 boolean 타입의 false를 순서대로 비한개 뺴고 true로 바꿔줌 for(int i ..

[LeetCode-1] Two Sum 문제풀이 - Java 사용

Two Sum 문제풀이 - Java 사용 nums배열과 target을 주어지면 target에 해당하는 합한 값을 ouput하는 문제 ex) nums[2,7,11,15], target = 9 이면 nums[0]과 nums[1] 번째에있는 2 + 7로 계산 class Solution { public int[] twoSum(int[] nums, int target) { Map map = new HashMap(); try { for (int i = 0; i 7 // 2, target = 9, nums[1] = 7; -> 2, // key와 대응되는 value값을 ..

[LeetCode-171] Excel Sheet Column Number 문제풀이 - Java 사용

Excel Sheet Column Number 문제풀이 - Java 사용 Excel Sheet처럼 열 제목이 주어지면 열 번호를 반환 하는 문제 마찬가지로 저번에 풀었던 아스키코드를 이용하여 문제를 풀었다. 해당 값을 입력 받으면 문자형으로 반환하여 값을 계산하였다. 2020/09/16 - [LeetCode 알고리즘 문제풀이] - [LeetCode-242] Valid Anagram 문제풀이 - Java 사용 [LeetCode-242] Valid Anagram 문제풀이 - Java 사용 Valid Anagram 문제풀이 - Java 사용 매개변수 s와 t를 입력받으면 알파벳을 담은 변수를 생성하고 해당변수에 있는 값을 비교를하면서 값이맞으면 true를 리턴하는 방식 class Solution { publi..

[LeetCode-217] Contains Duplicate 문제풀이 - Java 사용

Contains Duplicate 문제풀이 - Java 사용 정수배열 입력 받으면 해당 배열에 중복 값이 있는지 확인 하는 문제 distinct을 확인하려면 HashSet에 저장을하여 HashSet 메소드중 contains를 이용하여 해당 값이 들어 있으면 return을 해주게 하였다. class Solution { public boolean containsDuplicate(int[] nums) { // 매개변수가 없으면 false if(nums==null || nums.length==0){ return false; } // hashset -> HashSet은 기본적으로 중복된 원소를 허용하지 않음, // 순서 대로 저장 x HashSet distinct = new HashSet(); // forEach..

[LeetCode-242] Valid Anagram 문제풀이 - Java 사용

Valid Anagram 문제풀이 - Java 사용 매개변수 s와 t를 입력받으면 알파벳을 담은 변수를 생성하고 해당변수에 있는 값을 비교를하면서 값이맞으면 true를 리턴하는 방식 class Solution { public boolean isAnagram(String s, String t) { if (s.length() != t.length()) { return false; } // 알파벳을 담을 변수 2개 생성 -> 매개변수 s,t를 alph와 alph2에 담은후 값을 저장하여 비교할 예정 int[] alph = new int[26]; int[] alph2 = new int[26]; // 문자열 길이 만큼 for문을 돌려 alph와 alph2에 있는 자리에 값을 증가시킴 for (int i = 0; ..

[LeetCode-53] Maximum Subarray 문제풀이 - Java 사용

Maximum Subarray 문제풀이 - Java 사용 요약 : 정수배열이 있고 연속되는 부분 배열중에서 합이 가장 큰것을 리턴하라 방법1 -> for문 2개 사용 첫 번째 for문은 입력받은 값(매개변수)에 대해 길이만큼 돌면서 max값을 임시변수(tmp)에 저장하는 것 두 번째 for문은 tmp에 저장된 배열을 비교하면서 max값을 찾아 리턴 //[-2,1,-3,4,-1,2,1,-5,4] class Solution { public int maxSubArray(int[] nums) { int [] tmp = new int[nums.length]; tmp[0] = nums[0]; for(int i = 1; i max){ max = num; } } return max; } } 방법 2 -> 삼항 연산자이..

[LeetCode-13] Roman to Integer 문제풀이 - Java 사용

Roman to Integer 문제풀이 - Java 사용 로마숫자를 입력받으면 해당되는 아라비아숫자를 출력하게 하는 프로그램을 만드는 문제 필자는 map인터페이스 hashmap을이용하여 key와 value값을 저장하여 get메소드를 이용하여 문제를 풀었다 package leetcode13; import java.util.HashMap; public class Solution { public static void main(String[] args) { String s = "IX"; romanToInt(s); } // ex) IX(9)로 받았을 때 기준 public Static int romanToInt(String s) { System.out.println(s.length()); int res = 0; H..

[LeetCode-283] Move Zeroes 문제풀이 - Java 사용

Move Zeroes 문제풀이 - Java 사용 배열이 입력받으면 배열의 0값은 끝으로 이동하는 함수를 만드시오 class Solution { public void moveZeroes(int[] nums) { int i = 0; // forEach문을 사용 nums 값을 비교 for(int num:nums){ // 0이 아니면 nums[i++]자리에 num 값을 넣고 i 증가 if(num != 0){ nums[i++] = num; } } // 나머지 자리수에 0으로 채움 while(i

[LeetCode-237] Delete Node in a Linked List 문제풀이 - Java 사용

Delete Node in a Linked List 문제풀이 - Java 사용 싱글 연결리스트가 있는데, 함수에서는 노드 한개를 입력을 받는다. 입력 받은 노드를 연결리스트에서 삭제할 수 있는 방법을 찾는 문제 /** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } */ class Solution { public void deleteNode(ListNode node) { if(node == null ){ return ;} // 삭제노드를 기록 node.val = node.next.val; if(node.next.next != nu..

[LeetCode-217] Contains Duplicate 문제풀이 - Java 사용

Contains Duplicate 문제풀이 - Java 사용 주어진 정수배열에 중복 항목이 있는지 확인 중복되는 원소가 있을시 true 리턴 hashset을 이용 -> contains메서드를 이용하여 값이 중복되어 있는지 확인 class Solution { public boolean containsDuplicate(int[] nums) { // 매개변수가 없으면 false if(nums==null || nums.length==0){ return false; } // hashset -> HashSet은 기본적으로 중복된 원소를 허용하지 않음, // 순서 대로 저장 x HashSet distinct = new HashSet(); // forEach 사용 for(int num : nums) { // num값이..