일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- Poll
- 2020
- dynamic programming
- lastIndex
- 프로그래머스
- programmers
- sortedBy
- Java
- intarray
- contentToString
- Recursion
- hackerrank
- report
- Developer
- 알고리즘
- foreach
- Main
- solution
- 2D Array
- 동적계획법
- Kotlin
- dp
- Queue
- GREEDY
- 코틀린
- heap
- Util
- booleanarray
- PriorityQueue
- indices
- Today
- Total
목록전체 글 (37)
Code in
프로그래머스 깊이/너비 우선 탐색 타깃 넘버 문제입니다. IntelliJ에서의 풀이입니다. val numbers: IntArray = intArrayOf(1, 1, 1, 1, 1) val target: Int = 3 fun solution(numbers: IntArray, target: Int): Int { val arr: ArrayList = ArrayList() recursion(0, numbers, numbers[0], target, arr) recursion(0, numbers, numbers[0]*-1, target, arr) return arr.size } fun recursion(curIndex: Int, numbers: IntArray, curNum: Int, target: Int, arr..
프로그래머스 동적계획법(Dynamic Programming) N으로 표현 문제입니다. IntelliJ에서의 풀이입니다. import kotlin.math.pow val N = 5 val N2 = 2 val N3 = 4 val number = 12 val number2 = 11 val number3 = 17 val N4 = 1 val number4 = 11111 fun solution(N: Int, number: Int): Int { data class ns(val N: Int, val C: Int) val candidate: MutableSet = mutableSetOf(ns(N, 1)) // N 1번 사용한 상태로 시작 var tmp1: ns var tmp2: ns var tmp3: ns var las..
깊이 우선 탐색 DFS, 너비 우선 탐색 BFS에 앞서서 사용되는 자료구조인 그래프에 대해서 알아보겠습니다. 그래프 노드 Node와 노드를 연결하는 간선 Edge을 하나로 모아놓은 비선형 자료구조 연결된 객체 간의 관계를 표현하는 자료구조 정점 vertex와 간선 edge로 이루어진 자료구조 G = (V, E) 흔히 이야기하는 트리 구조는 조건들이 추가된 그래프의 일종입니다. 그림과 같이 표시된 방향이 없는 무방향 그래프도 있지만, 방향이 표기된 방향 그래프도 존재합니다. 그래프 탐색 하나의 정점으로부터 시작하여 차례대로 모든 정점들을 한 번씩 방문하는 것입니다. 깊이 우선 탐색 DFS와 너비 우선 탐색 BFS도 그래프 탐색의 한 종류입니다. 두 방식 모두 그래프 G = (V, E)의 모든 간선을 조회하..
동적 계획법 (DP - Dynamic Programming) 동적 계획법 (DP - Dynamic Programming) 은 큰 문제를 작은 문제로 나누어서 풀이하는 방식의 알고리즘입니다. Dynamic Programming이라는 이름은, 1953년, 수학자인 리처드 벨만이 큰 문제 안에 작은 문제가 중첩되어 있는 문제를 해결하면서 동적 계획법 Dynamic Programming이라는 이름을 사용했습니다. Dynamic은 벨만이 알고리즘의 시가변적Time-varing이고 다단계적인multistage 특성을 나타내기 위해 사용되었습니다. Programming은 그 당시 근무하던 회사의 소속인 공군 내에서 워드 프로세스 교육이나 군수 물자 운송 등에 사용되던 단어였기 때문에 사용되었습니다. 분할 정복과의 차..
To understand the state of developer skills in 2020, we’re launching our third annual Developer Skills Report: the largest survey of its kind ever released HackerRank에서는 개발자들의 현재 상황을 파악하기 위해 연간 개발자 스킬 보고서를 작성 및 게시합니다. 굉장히 큰 규모의 설문 조사이기 때문에, 알고 있다면 세계적인 상황을 파악하는 데에 있어서 큰 도움이 될 것 같습니다. US지역의 개발자들이 보다 많은 Pay를 받습니다. 모든 종류와 레벨의 IT 업계의 평균에 있어서, US 개발자들이 연평균 $109,167 을 받습니다. 오스트레일리아와 캐나다가 그 다음으로 높은 급여를..
To understand the state of developer skills in 2020, we’re launching our third annual Developer Skills Report: the largest survey of its kind ever released HackerRank에서는 개발자들의 현재 상황을 파악하기 위해 연간 개발자 스킬 보고서를 작성 및 게시합니다. 굉장히 큰 규모의 설문 조사이기 때문에, 알고 있다면 세계적인 상황을 파악하는 데에 있어서 큰 도움이 될 것 같습니다. JavaScript는 올해의 가장 많이 알려진 언어입니다. 가장 많이 알려진 언어 순위에서, JavaScript는 1위를 차지했습니다. 이후로 Java와 C, Python, C++이 뒤따르고 있습니다. ..
To understand the state of developer skills in 2020, we’re launching our third annual Developer Skills Report: the largest survey of its kind ever released HackerRank에서는 개발자들의 현재 상황을 파악하기 위해 연간 개발자 스킬 보고서를 작성 및 게시합니다. 굉장히 큰 규모의 설문 조사이기 때문에, 알고 있다면 세계적인 상황을 파악하는 데에 있어서 큰 도움이 될 것 같습니다. 가장 수요가 많은 영역은 Full-Stack 개발자입니다. 회사의 규모와 상관없이, 채용 관계자들은 Full-Stack 개발자를 채용하는 것이 최우선이라고 생각합니다. 다음으로 백엔드 개발자와 데이터 과..
To understand the state of developer skills in 2020, we’re launching our third annual Developer Skills Report: the largest survey of its kind ever released HackerRank에서는 개발자들의 현재 상황을 파악하기 위해 연간 개발자 스킬 보고서를 작성 및 게시합니다. 굉장히 큰 규모의 설문 조사이기 때문에, 알고 있다면 세계적인 상황을 파악하는 데에 있어서 큰 도움이 될 것 같습니다. ** 본 보고서에서 사용한 세대별 호칭입니다. Baby Boomer: Born 1946 ~ 1964 Gen X: Born 1965 ~ 1980 Gen Y(Millennial): Born 1981 ~ 19..
프로그래머스 탐욕법 섬 연결하기 문제입니다. IntelliJ에서의 풀이입니다. val costs: Array = arrayOf( intArrayOf(0, 1, 5), intArrayOf(0, 3, 2), intArrayOf(0, 4, 3), intArrayOf(2, 5, 3), intArrayOf(1, 4, 1), intArrayOf(3, 4, 10), intArrayOf(1, 2, 2), intArrayOf(4, 5, 4) ) val n = 6 // 11 val costs2: Array = arrayOf( intArrayOf(0, 1, 5), intArrayOf(1, 2, 3), intArrayOf(2, 3, 3), intArrayOf(3, 1, 2), intArrayOf(3, 0, 4) ) val n..
프로그래머스 탐욕법 부분 조이스틱 문제입니다. IntelliJ에서의 풀이입니다. import kotlin.math.abs val name: String = "BBAABB" // 'A': 65 ~ 'Z': 90 // A B C D E F G H I J K L M N O P Q R S T U V W X Y Z // 0 1 2 3 4 5 6 7 8 9 10 11 12 13 12 11 10 9 8 7 6 5 4 3 2 1 fun solution(name: String): Int { var answer = 0 // 알파벳을 바꿀 때 최적화, 이동할 때 최적화 2개로 나누겠습니다. // 알파벳 변경 시의 최적화 var current: Int name.forEach { current = it.toInt() answe..