본문 바로가기
  • Jetpack 알아보기

알고리즘120

[Java] LeetCode 717 : 1-bit and 2-bit Characters LeetCode # 717 Example 1: Input: bits = [1, 0, 0] Output: True Explanation: The only way to decode it is two-bit character and one-bit character. So the last character is one-bit character. Example 2: Input: bits = [1, 1, 1, 0] Output: False Explanation: The only way to decode it is two-bit character and one-bit character. So the last character is one-bit character. Note: 1 2021. 4. 21.
[Java] LeetCode 953 : Verifying an Alien Dictionary LeetCode # 953 Example 1: Input: words = ["hello","leetcode"], order = "hlabcdefgijkmnopqrstuvwxyz" Output: true Explanation: As 'h' comes before 'l' in this language, then the sequence is sorted. Example 2: Input: words = ["word","world","row"], order = "worldabcefghijkmnpqstuvxyz" Output: false Explanation: As 'd' comes after 'l' in this language, then words[0] > words[1], hence the sequence i.. 2021. 4. 21.
[Java] LeetCode 874 : Walking Robot Simulation LeetCode # 874 Example 1: Input: commands = [4,-1,3], obstacles = [] Output: 25 Explanation: The robot starts at (0, 0): 1. Move north 4 units to (0, 4). 2. Turn right. 3. Move east 3 units to (3, 4). The furthest point away from the origin is (3, 4), which is 32 + 42 = 25 units away. Solution #1 (11ms) import java.awt.*; import java.util.HashSet; import java.util.Set; class Solution { int[] xSt.. 2021. 4. 17.
[Java] LeetCode 1518 : Water Bottles LeetCode # 1518 Example 1: Input: numBottles = 9, numExchange = 3 Output: 13 Explanation: You can exchange 3 empty bottles to get 1 full water bottle. Number of water bottles you can drink: 9 + 3 + 1 = 13. Constraints: 1 2021. 4. 17.
[Java] LeetCode 290 : Word Pattern LeetCode # 290 Example 1: Input: pattern = "abba", s = "dog cat cat dog" Output: true Note: 1 2021. 4. 17.
[Java] LeetCode 914 : X of a Kind in a Deck of Cards LeetCode # 914 Example 1: Input: deck = [1,2,3,4,4,3,2,1] Output: true Explanation: Possible partition [1,1],[2,2],[3,3],[4,4]. Note: 1 2021. 4. 17.
[Java] LeetCode 1486 : XOR Operation in an Array LeetCode # 1486 Given an integer n and an integer start. Define an array nums where nums[i] = start + 2*i (0-indexed) and n == nums.length. Return the bitwise XOR of all elements of nums. Example 1: Input: n = 5, start = 0 Output: 8 Explanation: Array nums is equal to [0, 2, 4, 6, 8] where (0 ^ 2 ^ 4 ^ 6 ^ 8) = 8. Where "^" corresponds to bitwise XOR operator. Note: 1 2021. 4. 17.
[JAVA] Codility Lesson 1 : BinaryGap [Lession1] Iterations - BinaryGap 정수 N이 주어졌을 때, N을 이진수로 변환한다. 이진수의 1과 1사이에 있는 0의 개수를 계산하고, 그 최대값을 구하는 문제 app.codility.com/programmers/lessons/1-iterations/binary_gap/ BinaryGap coding task - Learn to Code - Codility Find longest sequence of zeros in binary representation of an integer. app.codility.com Solution while 문으로 정수 N을 String 형으로 이진수로 변환한다. for 반복문으로 '0'과 '1'일 경우를 검사한다. 이때, '0'일 경우 count.. 2021. 4. 17.
[JAVA] 프로그래머스 Lv.1 : 실패율 🔥 2019 KAKAO BLIND RECRUITMENT 슈퍼 게임 개발자 오렐리는 큰 고민에 빠졌다. 그녀가 만든 프랜즈 오천성이 대성공을 거뒀지만, 요즘 신규 사용자의 수가 급감한 것이다. 원인은 신규 사용자와 기존 사용자 사이에 스테이지 차이가 너무 큰 것이 문제였다. 이 문제를 어떻게 할까 고민 한 그녀는 동적으로 게임 시간을 늘려서 난이도를 조절하기로 했다. 역시 슈퍼 개발자라 대부분의 로직은 쉽게 구현했지만, 실패율을 구하는 부분에서 위기에 빠지고 말았다. 오렐리를 위해 실패율을 구하는 코드를 완성하라. 실패율은 다음과 같이 정의한다. - 스테이지에 도달했으나 아직 클리어하지 못한 플레이어의 수 / 스테이지에 도달한 플레이어 수 전체 스테이지의 개수 N, 게임을 이용하는 사용자가 현재 멈춰있는 .. 2021. 4. 16.
[JAVA] 프로그래머스 Lv.1 : 키패드 누르기 🔥 2020 카카오 인턴십 스마트폰 전화 키패드의 각 칸에 다음과 같이 숫자들이 적혀 있습니다. 이 전화 키패드에서 왼손과 오른손의 엄지손가락만을 이용해서 숫자만을 입력하려고 합니다. 맨 처음 왼손 엄지손가락은 * 키패드에 오른손 엄지손가락은 # 키패드 위치에서 시작하며, 엄지손가락을 사용하는 규칙은 다음과 같습니다. 1. 엄지손가락은 상하좌우 4가지 방향으로만 이동할 수 있으며 키패드 이동 한 칸은 거리로 1에 해당합니다. 2. 왼쪽 열의 3개의 숫자 1, 4, 7을 입력할 때는 왼손 엄지손가락을 사용합니다. 3. 오른쪽 열의 3개의 숫자 3, 6, 9를 입력할 때는 오른손 엄지손가락을 사용합니다. 4. 가운데 열의 4개의 숫자 2, 5, 8, 0을 입력할 때는 두 엄지손가락의 현재 키패드의 위치에서 .. 2021. 4. 7.