분류 전체보기

Algorithm/PTUStudy

3주차. 배열(세수의 합)

09. 세수의 합 https://leetcode.com/problems/3sum/ 3Sum - LeetCode 3Sum - Given an integer array nums, return all the triplets [nums[i], nums[j], nums[k]] such that i != j, i != k, and j != k, and nums[i] + nums[j] + nums[k] == 0. Notice that the solution set must not contain duplicate triplets. Example 1: Input: nums leetcode.com 📌문제 배열을 입력받아 합으로 0을 만들 수 있는 3개의 엘리먼트를 출력하라 - 예제1 📝입력 nums = [-1,0,1,2,..

Algorithm/PTUStudy

3주차. 배열(빗물 트래핑)

08. 빗물 트래핑 https://leetcode.com/problems/trapping-rain-water/ Trapping Rain Water - LeetCode Trapping Rain Water - Given n non-negative integers representing an elevation map where the width of each bar is 1, compute how much water it can trap after raining. Example 1: [https://assets.leetcode.com/uploads/2018/10/22/rainwatertrap.png] Input: he leetcode.com 📌문제 높이를 입력받아 비 온 후 얼마나 많은 물이 쌓일 수 있는지 ..

Algorithm/PTUStudy

3주차. 배열(두수의 합)

07. 두수의 합 https://leetcode.com/problems/two-sum/ Two Sum - LeetCode Two Sum - Given an array of integers nums and an integer target, return indices of the two numbers such that they add up to target. You may assume that each input would have exactly one solution, and you may not use the same element twice. You can return leetcode.com 📌문제 덧셈하여 타겟을 만들 수 있는 배열의 두 인덱스를 리턴하라 - 예제1 📝입력 nums = [2,7,11,..

Algorithm/PTUStudy

2주차. 소수구하기

1929. 소수구하기 https://www.acmicpc.net/problem/1929 📌문제 M이상 N이하의 소수를 모두 출력하는 프로그램을 작성하시오. - 예제1 📝입력 3 16 💻출력 3 5 7 11 13 📌풀이 1. 에라토스테네스의 체 (37296 KB,1008 ms) package week2; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class 소수구하기 { public static void main(String[] args) throws IOException { BufferedReader br = ..

Algorithm/PTUStudy

2주차. 오븐시계

2525. 오븐시계 https://www.acmicpc.net/problem/2525 📌문제 KOI 전자에서는 건강에 좋고 맛있는 훈제오리구이 요리를 간편하게 만드는 인공지능 오븐을 개발하려고 한다. 인공지능 오븐을 사용하는 방법은 적당한 양의 오리 훈제 재료를 인공지능 오븐에 넣으면 된다. 그러면 인공지능 오븐은 오븐구이가 끝나는 시간을 분 단위로 자동적으로 계산한다. 또한, KOI 전자의 인공지능 오븐 앞면에는 사용자에게 훈제오리구이 요리가 끝나는 시각을 알려 주는 디지털 시계가 있다. 훈제오리구이를 시작하는 시각과 오븐구이를 하는 데 필요한 시간이 분단위로 주어졌을 때, 오븐구이가 끝나는 시각을 계산하는 프로그램을 작성하시오. - 예제1 📝입력 `14 30` 💻출력 `20` - 예제2 📝입력 `17..

Algorithm/PTUStudy

2주차. 문자열 조작(가장 긴 팰린드롬 부분 문자열)

05. 가장 긴 팰린드롬 부분 문자열 📌문제 가장 긴 팰린드롬 부분 문자열을 출력하라 - 예제1 📝입력 ` s = "babad"` 💻출력 `"bab"` - 예제2 📝입력 `s = "cbbd"` 💻출력 `"bb"` 📌풀이 1. 중앙을 중심으로 확장 풀이 (23ms, 42.2mb) public String longestPalindrome(String s) { int len = s.length(); if (len < 2) return s; for (int i = 0; i < len-1; i++) { extendPalindrome(s, i, i); //홀수 extendPalindrome(s, i, i+1); //짝수 } return s.substring(start, start + maxLen); } privat..

Algorithm/PTUStudy

2주차. 문자열 조작(그룹 애너그램)

04. 그룹 애너그램 📌문제 문자열 배열을 받아 애너그램 단위로 그룹핑하라 - 예제1 📝입력 `strs = ["eat","tea","tan","ate","nat","bat"]` 💻출력 `[["bat"],["nat","tan"],["ate","eat","tea"]]` - 예제2 📝입력 `strs = [""]` 💻출력 `[[""]]` 📌풀이 1. Map을 활용한 방법 (7ms, 45.4mb) public List groupAnagrams(String[] strs) { Map map = new HashMap(); for(String s : strs){ char[] charArr = s.toCharArray(); Arrays.sort(charArr); String key = String.valueOf(charA..

Algorithm/PTUStudy

2주차. 문자열 조작(가장 흔한 단어)

03. 가장 흔한 단어 📌문제 금지된 단어를 제외한 가장 흔하게 등장하는 단어를 출력하라. 대소문자 구분을 하지 않으며, 구두점(마침표, 쉼표 등) 또한 무시한다. - 예제1 📝입력 `paragraph = "Bob hit a ball, the hit BALL flew far after it was hit." banned = ["hit"]` 💻출력 `"ball"` - 예제2 📝입력 `paragraph = "a.", banned = []` 💻출력 `"a"` 📌풀이 1. Map과 Set을 활용한 방법 (12ms, 42.5mb)⭐ public String mostCommonWord(String paragraph, String[] banned) { String answer = ""; Map map = new Ha..

Algorithm/PTUStudy

1주차. 문자열 조작(로그파일 재정렬)

03. 로그파일 재정렬 📌문제 로그를 재정렬하라. 기준은 다음과 같다. >1. 로그의 가장 앞 부분은 식별자다. 2. 문자로 구성된 로그가 숫자 로그보다 앞에 온다. 3. 식별자는 순서에 영향을 끼치지 않지만, 문자가 동일한 경우 식별자 순으로 한다. 4. 숫자 로그는 입력 순서대로 한다. - 예제1 📝입력 `["dig1 8 1 5 1","let1 art can","dig2 3 6","let2 own kit dig","let3 art zero"]` 💻출력 `["let1 art can","let3 art zero","let2 own kit dig","dig1 8 1 5 1","dig2 3 6"]` - 예제2 📝입력 `["a1 9 2 3 1","g1 act car","zo4 4 7","ab1 off key ..

Algorithm/PTUStudy

1주차. 문자열 조작(문자열 뒤집기)

02. 문자열 뒤집기 📌문제 문자열을 뒤집는 함수를 작성하자. 입력값은 문자 배열이며, 리턴 없이 리스트 내부를 직접 조작하라. - 예제1 📝입력 `["h","e","l","l","o"]` 💻출력 `["o","l","l","e","h"]` - 예제2 📝입력 `["H","a","n","n","a","h"]` 💻출력 `["h","a","n","n","a","H"]` 📌풀이 1. 배열 직접 조작 (1ms, 47.2mb) public void reverseString(char[] arr) { for(int i = 0; i < arr.length/2; i++){ char temp = arr[i]; arr[i] = arr[arr.length - 1 - i]; arr[arr.length - 1 - i] = temp;..

지구우중
'분류 전체보기' 카테고리의 글 목록 (15 Page)