본문 바로가기

백준 Algorithm54

[프로그래머스] 문자열 나누기 Java 풀이 Problem 문자열 나누기 Solution 문자열을 제일 먼저 첫 글자를 읽고 첫 글자와 다른 글자의 갯수가 같으면 문자열을 분리하고 다르면 갯수가 같아질 때까지 카운트하여 최종으로 나눠진 문자열 갯수를 구하는 문제이다. 1. 첫 글자가 나오는 횟수를 count, 다른 글자가 나오는 횟수를 diff로 선언하여 카운팅한다. 2. for문을 사용하여 s의 길이만큼 반복해주면 된다. 3. 첫 글자를 first에 넣고, 뒤에 글자를 temp에 넣은 후 같으면 count++ 다르면 diff++을 해주면서 count와 diff가 같아질 때까지 비교한다. 4. count와 diff가 같으면 first는 temp로 바뀌고 다시 answer++을 해준다. 5. for문을 다 반복한 후 answer을 리턴해주면 끝 ~ .. 2023. 3. 15.
[프로그래머스] 대충 만든 자판 Java 풀이 Problem 대충 만든 자판 Solution 휴대폰 자판을 List에 저장하고 주어진 특정 문자열을 입력하여 키를 최소 몇 번 누르는지를 구하면 되는 문제이다. 1. List를 생성하고 keymap을 문자들을 List에 주소에 넣어주면서 중간에 키를 누르는 최솟값을 값으로 넣어준다. 2. 키보드 값을 List에 다 넣었으므로 targets에 있는 특정 문자열과 비교하여 키를 누르는 값을 구한다. 3. 만약 특정 문자열이 키보드 값 List에 없을 경우 answer에 -1을 넣어주고 break 해준다. (굳이 불필요한 뒷 작업을 할 필요 없도록) 4. 키를 누르는 최솟값을 answer에 저장하여 마지막에 answer을 출력해 준다. class Solution { public int[] solution(S.. 2023. 3. 13.
[프로그래머스] 둘만의 암호 Java 풀이 Problem 둘만의 암호 Solution 소문자로만 이루어진 문자열이 s로 주어지고 index 만큼 밀어주는데 skip에 있는 알파벳은 제외하고 건너뛴 다음 최종적인 String을 반환해 주면 되는 문제이다. 1. s 를 char로 변환한다. 2. 변환된 char을 한번 밀어준 후 z보다 큰지 비교 후 z보다 클 시 알파벳의 개수만큼 26을 뺀 후 a로 만든다. 3. skip에 포함되어 있는지 체크해 준다. 3 - 1. 만약 포함되어 있으면 카운트를 시키지 않고 다시 한번 밀어준다. 3 - 2. 포함되어 있지 않으면 카운트를 시키고 index 범위만큼 2번과 3번을 반복한다. 4. 2번째 for 문을 나온 char을 answer에 저장한다. 5. 이렇게 s의 범위만큼 1 ~ 4번을 반복하면 답이 나온다.. 2023. 3. 9.
[LeetCode - Data Structure II] 15. 3Sum Problem 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 = [-1,0,1,2,-1,-4] Output: [[-1,-1,2],[-1,0,1]] Explanation: nums[0] + nums[1] + nums[2] = (-1) + 0 + 1 = 0. nums[1] + nums[2] + nums[4] = 0 + 1.. 2022. 11. 10.
[LeetCode - Data Structure II] 169. Majority Element Problem Given an array nums of size n, return the majority element. The majority element is the element that appears more than ⌊n / 2⌋ times. You may assume that the majority element always exists in the array. Example 1: Input: nums = [3,2,3] Output: 3 Example 2: Input: nums = [2,2,1,1,1,2,2] Output: 2 Constraints: n == nums.length 1 2022. 11. 8.
[LeetCode - Data Structure II] 136. Single Number Problem Given a non-empty array of integers nums, every element appears twice except for one. Find that single one. You must implement a solution with a linear runtime complexity and use only constant extra space. Example 1: Input: nums = [2,2,1] Output: 1 Example 2: Input: nums = [4,1,2,1,2] Output: 4 Example 3: Input: nums = [1] Output: 1 Constraints: 1 2022. 11. 6.
반응형