본문 바로가기

All

(5)
[스터디] 알고리즘#3 - 유연근무제 몇개 푼것중에 제일 쉬운문제!! 역시 글자가 많다고 두려워 하지 말자 ㅋ 문제가 하도 길어서, 풀기도 전에 겁이 났는데, 이번 문제는 난이도가 제일 낮은 문제같긴하네..포인트는 60진법(시간)에 대한 처리를 적절히 하는것!이건 그냥 문제만 잘읽어도 풀리는 문제긴하다~ 직원들이 출근 계획 시간표를 제출하고, 해당 출근 계획 시간 + 10분까지 계획대로 출근을 일주일간모두 한 직원들의 수를 구하는 문제이다! (15분정도 걸린듯) https://school.programmers.co.kr/learn/courses/30/lessons/388351 class Solution { fun solution(schedules: IntArray, timelogs: Array, startday: Int): Int { ..
[스터디] 알고리즘#2 - 택배 상자 꺼내기 지렁이처럼 구불구불 데이터가 저장되는 패턴!! 배열이 왼쪽 -> 오른쪽, 오른쪽 -> 왼쪽 이렇게 번갈아가면서 저장되는 패턴...row % 2로 왼쪽 -> 오른쪽, 오른쪽 -> 왼쪽 패턴을 구분하는게 중요하다. https://school.programmers.co.kr/learn/courses/30/lessons/389478 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr class Solution { fun solution(n: Int, w: Int, num: Int): Int { var col = -1 var row = 0 var xRow = 0 var ..
[스터디] 알고리즘#1 - 노란불신호등 결국은 웬만하면, 매일 알고리즘 1문제씩은 풀어야겠다고 다짐했다.. 예전에는 프로그래머에게 알고리즘은 크게 중요하지 않다고 생각했다.실무 경험과 연차가 쌓이면서 더더욱 그런 생각이 커졌었다.알고리즘은 신입이나 주니어 개발자가 더잘하는것이라고 생각했고,실무에서는 알고리즘보다는 실무경험에서 오는 트러블슈팅의 노하우와 경험이 더 많은 도움이 될것이라고 생각했다.하지만, 최근에는 생각이 조금 바뀌었다.AI시대가 성큼 다가오고 나서, 더욱 생각이 바뀐것 같다. 알고리즘은 다양한 사고를 할수있게 해준다는것이다. 이 부분이 프로그래머에게는 상당한 도움이 된다고 생각한다. 해당 알고리즘 문제를 풀이를 보고 외우거나, AI에 질문하면서 푸는게 아닌,끝까지 내가 고민하고 생각해서 푼다는 가정하에 말이다. 이런 생각으로..
[스터디] 자바 ScopedValue에 대해서 ScopedValue 와! 이거 좋구나!! 스터디 잘해서, ThreadLocal의 찝찝함을 없애야겠다.. 자바 26릴리즈 노트를 최근에 봤는데, 쭉 내용을 보던중에 눈에 띄는게 있었다. 그게 ScopedValue와 StructuredTaskScope였다. 우선 ScopedValue가 가장 맘에 들었다 ㅋThreadLocal를 대체할수있는 개념이였기에 큰 흥미가 생겼다.평상시, 나도 ThreadLocal의 사용성이나 사용법이 개발자의 실수를 만들어내기에 쉬운 구조라고 생각을 자주했기 때문이다.(ThreadLocal사용할때, 아..쓰기싫다 이러면서 쓴적도 많긴하다 ㅋㅋ) 음,, 뭐가 맘에 들지않았냐하면 ..ㅋ 1) ThreadLocal의 실행 라이프사이클이 Thread를 따른다는것이다.- Thread의 라이..
[스터디] 코틀린에서 infix함수 활용에 대해서 코틀린에서 infix함수를 잘 사용하면, 정말 깔끔한 코드를 만들고 유지할수있다. 적극사용하자! 코틀린에서 infix 함수는점(.)과 괄호 없이 함수 호출을 할 수 있게 만드는 기능이다.(확장함수나, 함수 표현식이 아닌 호출 표현)그래서 코드가 마치 우리가 일반적으로 사용하는 인간의 언어, 즉 자연어처럼 읽히게 만들 수 있다. 한가지 예로) a+b를 더하는 함수는 아래와 같이 정의하고, 사용도 아래와 같이 사용한다. fun add(a: Int, b: Int): Int { return a + b}add(1, 2) 일반적으로 우리는 이렇게 함수를 만들고 사용한다.하지만 코틀린에서 infix함수로 정의를 하면, 더 깔끔하게 표현할수있다. infix fun Int.plus(other: Int): Int {..