Dev/Algorithm 37

간만의 알고리즘 공부 - 2 (최소공배수)

문제문제 설명두 수의 최소공배수(Least Common Multiple)란 입력된 두 수의 배수 중 공통이 되는 가장 작은 숫자를 의미합니다. 예를 들어 2와 7의 최소공배수는 14가 됩니다. 정의를 확장해서, n개의 수의 최소공배수는 n 개의 수들의 배수 중 공통이 되는 가장 작은 숫자가 됩니다. n개의 숫자를 담은 배열 arr이 입력되었을 때 이 수들의 최소공배수를 반환하는 함수, solution을 완성해 주세요.제한 사항- arr은 길이 1이상, 15이하인 배열입니다.- arr의 원소는 100 이하인 자연수입니다.입출력 예입 : [2,6,8,14] / 출 : 168입 : [1,2,3] / 출 : 6  산수 관점에서는 가능했는데 어떻게 구현해야할지 몰라서 접근방법(?)이라고 적혀있지만 거의 답이였는 ..

Dev/Algorithm 2024.06.27

[프로그래머스] 자릿수 더하기 LV1 / kotlin

자릿수 더하기 자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요. 예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다. 문제 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/12931 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1차 시도 class Solution { fun solution(n: Int): Int { var answer = 0 if (n < 10) { answer = n } else { ..

Dev/Algorithm 2022.12.04

[알고리즘] 프린트(❌) - 알고리즘 공부

✔️사이트 : 프로그래머스 ✔️언 어 : Kotlin ✔️난이도 : Level 2 ✔️문 제 : 프린트 총평 : 테스트가 통과되지 않았다. 문제를 풀어내는 아이디어는 비슷했으나 잘못 생각한 부분이 있었다. 문제 : 아래의 테스트코드를 작성한것처럼 작동해야한다고 생각했다. assertEquals(1, solution(intArrayOf(1), 0)) assertEquals(1, solution(intArrayOf(2, 1, 3, 2), 2)) assertEquals(5, solution(intArrayOf(1, 1, 9, 1, 1, 1), 0)) assertEquals(1, solution(intArrayOf(1, 2, 2, 3, 4, 6, 6, 6, 7, 9), 9)) assertEquals(9, sol..

Dev/Algorithm 2021.03.03

[알고리즘] 다리를 지나는 트럭(⭕) - 알고리즘 공부

✔️사이트 : 프로그래머스 ✔️언어 : Kotlin ✔️난이도 : Level 2 ✔️문제 : 다리를 지나는 트럭 총평 : 초보라서 체감난이도는 3~4 쯤이지 않을까라는 생각을 했다. 과정 : 해당 문제에서는 경과 시간에 맞춰서 다리를 건너는 트럭 을 어떻게 구현하는지가 관건이었다. 트럭위를 지나가는 형태의 다리를 어떤 데이터 구조체를 사용해야할지 해결하는게 제일 어려웠습니다. 그래서 배열, 리스트를 시도하다가 떠오른게 Queue 였으며 다음과 같은 아이디어를 생각했으며 구현했다. 조건 : - 다리 길이 2 - 한계 무게 10 - 대기 트럭 (7,4,5,6) 최소 트럭의 무게가 1 이상이니, 다리 Queue 를 0 으로 채워서 표현했다. 그리고 길이가 2이고 0으로 채워진 Queue 에서 poll 후에 트..

Dev/Algorithm 2021.02.24

알고리즘 - Defanging an IP Address

문제 Given a valid (IPv4) IP address, return a defanged version of that IP address. A defanged IP address replaces every period "." with "[.]". Example 1: Input: address = "1.1.1.1" Output: "1[.]1[.]1[.]1" Example 2: Input: address = "255.100.50.0" Output: "255[.]100[.]50[.]0" 답안 간단한 내장 함수를 사용해서 적용 class Solution { fun defangIPaddr(address: String): String { return address.replace(".", "[.]") } } ..

Dev/Algorithm 2020.02.02

알고리즘 - Find Numbers with Even Number of Digits

문제 자체를 이해하지 못해서 처음에 헤맸습니다... 자리수가 짝수인 숫자를 찾는 문제입니다. 문제 Given an array nums of integers, return how many of them contain an even number of digits. Example 1: Input: nums = [12,345,2,6,7896] Output: 2 Explanation: 12 contains 2 digits (even number of digits). 345 contains 3 digits (odd number of digits). 2 contains 1 digit (odd number of digits). 6 contains 1 digit (odd number of digits). 7896 con..

Dev/Algorithm 2020.01.27

[책] 누구나 자료 구조와 알고리즘 - 출퇴근 시간 100% 활용!!

'간단하게' 책 리뷰를 해보겠습니다!!! 제가 페이스북 길벗 출판사에서 진행한 이벤트에 당첨이 되어서 책을 받게 되었습니다!! (흐뭇흐뭇)제가 받은 책은 누구나 자료 구조와 알고리즘 입니다. 페이스북 이벤트 주소 저는 직업으로서 안드로이드 개발을 3년정도 했습니다. 그러나 알고리즘 공부는 하다말다를 꽤나 반복했으며, 지금까지 잘 모르는 상태로 지내고 있습니다. 다만, 이번의 서평이라는 과제 덕분에 좀 더 마음먹고 책을 읽으며 공부를 할 수 있었고 그 덕분에 이론이 머리에 와닿기 시작했습니다. 하지만 갈길은 아직 많이 남았다고 생각합니다..... ㅠㅠ [아주 지극히 주관적인 책의 특징 3가지] 1. 책 크기는 작고 얇아서 가져다니기 쉽습니다.2. 어려운 내용이 아니기에 집중하기가 편합니다.3. 섹션마다 내..

Dev/Algorithm 2018.08.31

1D1A - One Day One Algorithm

1D1A - One Day One Algorithm 최대공약수와 최소공배수두 수를 입력받아 두 수의 최대공약수와 최소공배수를 반환해주는 gcdlcm 함수를 완성해 보세요. 배열의 맨 앞에 최대공약수, 그 다음 최소공배수를 넣어 반환하면 됩니다. 예를 들어 gcdlcm(3,12) 가 입력되면, [3, 12]를 반환해주면 됩니다. import java.util.Arrays;import java.util.ArrayList;import java.util.List; class TryHelloWorld { public int[] gcdlcm(int a, int b) { int[] answer = new int[2]; List al = new ArrayList(); List bl = new ArrayList(); f..

Dev/Algorithm 2018.03.30