이유's STUDY

    스프린트란

    [스프린트] 란?구글 벤처스 서빗 기획 방시긍로 서비스를 개선하거나 아예 새롭게 만들어내기 위한 관계자들이 5일 안에 프로토타입을 만들어 실용적인 서비스 전략1일차 : 하나의 기능에 대해서 실용적으로 접근2일차 : 해결방식[ 국내에서의 스프린트 ] - 2주 단위로 기획 - 개발 - QA - 출시까지의 업무로 Water fall 방식과 달리 짧은 제품 주기를 가즌다.스프린트 기간 2주제품 개발 —- 2주QA 시작, QA 종료, 배포 —-1주앞서서 엔지니어분들이 2주단위로 스프린트를 할 때결과물이 완벽하지 못할때? 다음 스프린트 준비할 기간이 없다. 라고 했는데2주는 이제 QA 를 손봐야할 부분이 적어지게 된다.쿨다운 기간 1주스프린트 운영 자체가 이제 쉬운 일은 아니다.목표에 대해서 얼라인 하는 것이 되어..

    DATA LOG 설계

    DATA Log 설계는 이제 USER DATA 를 받아서 해당 기능 기획의 성과를 명확하게 데이터로 알 수 있으니 꼭 필요하긴 하다. 보통 앱/웹의 경우 Google analytics 4 나 이제 Firebase 를 통해서 데이터 로깅을 수행한다. 그리고 User 의 경우 이제 어떤 기능을 눌러서 받아오는 이벤트 들을 트래킹하여 로그로 저장하고 이를 분석할 수 있다.  만약 회사에 다니고 있지 않아, 해당 두개의 분석 툴을 사용하지 않고 있다면 크롬의 Aplitude event 를 사용하여 간접 체험이라도 해보길...https://chromewebstore.google.com/detail/amplitude-event-explorer/acehfjhnmhbmgkedjmjlobpgdicnhkbp?hl=ko-k..

    Greedy algorith - 코딩테스트 [탐욕법] : 조이스틱

    Greedy algorith - 코딩테스트 [탐욕법] : 조이스틱

    탐욕법이란? - 최적의 값을 구해야 하는 상황에서 사용되는 근시안적인 방법론으로 ‘각 단계에서 최적이라고 생각되는 것을 선택’ 해 나가는 방식으로 진행하여 최종적인 해답에 도달하는 알고리즘입니다. - 이때, 항상 최적의 값을 보장하는것이 아니라 최적의 값의 ‘근사한 값’을 목표로 하고 있습니다. 그래서 최종적인 해답에 도달해야하는 알고리즘이어서 항상 최적의 값의 "근사한 값"이 목표로 구해져야한다.  💡 근시안적 방법론이란?- 단기적인 목표를 중심으로 한 전략적인 접근 방법을 의미합니다. 이 방법론은 주로 현재의 문제를 해결하는 데 초점을 맞추며, 장기적인 전망보다는 단기적인 성과를 중요시합니다. 그래서 오늘 풀 문제는? - 코딩테스트 : 조이스틱https://school.programmers.co.k..

    [Leetcode] Add two numbers

    리트코드 - 링크드인을 사용하여 add tow numbers 를 진행함 1st. Try. 먼가 코드가 엄청 지저분해지고 조건문 이것저것이다... 결국 하루 동안 고민하다가 답지를 보게 됨. /** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode() {} * ListNode(int val) { this.val = val; } * ListNode(int val, ListNode next) { this.val = val; this.next = next; } * } */ class Solution { public ListNode addTwoNumbers(ListNode l1, L..

    [ leetcode ] dfs 문제 - number of islands

    다시 한번 DFS 개념을 집고 넘어가자! - 0번째 노드에서 이제 깊이 인접한 노드를 다 도는 방식으로 / stack 처럼 안에 넣었다가 지나갔으면 빼고 약간 이런식으로 동작함. 여기서 이제 궁금한 것. dfs 로 문제 풀기! if ( grid[i][j] == '1') 로서 이제 그게 1 일 경우에만 지나갈 수 있도록 설정!! - 이 1로서 설정하는 것은 이제 해당 내용의 값이 1 일 경우에 즉 땅일 경우에만 돌아가면 되기 때문..! 물인데 굳이 돌 필요 없자나? 1st Try -- checked 랑 언제 빠져나가야할지 고민... class Solution { //x 좌표, y 좌표로 돌아가면서 간다고 생각해야함 // 섬을 찾아서 이게 연결된 곳이 없을 때까지 계속 돌아가면서 찾아간다. static bo..

    [ 자료구조 ] LinkedList

    다시 시작된.. 자료구조의 세계로.. 이번엔 링크드 리스트 구분 힘들었던 점.. ! 우선 nullpointer exception이 너무 나서 그걸 처리하는 게 꽤 많은 힘이 들었다. 보면 insert 를 할때나 delete 할 때 모두 if 문으로 size 에 맞지 않을 경우 예외처리를 해주어야하는데 해당 부분에서 애를 먹어서 다른 사람들 코드를 좀 창고하였다. ㅎㅎ import lombok.val; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.*; class MyLinkedList { // 하나하나의 작은 노드를 생성 class Node { privat..

    [ 백준 ] 2580 번 - 스도쿠 / java 이용 / 아직 못 푼 문제 ㅠㅠ

    [ 백준 ] 2580 번 - 스도쿠 / java 이용 / 아직 못 푼 문제 ㅠㅠ

    우선 dfs 와 bfs 를 조금더 공부하고 다시 풀어봐야겠다! dfs 로 풀면 되는데 어디서 재귀조건으로 나가는지 지나가는지 확인하기. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.*; public class Main { public static int N, M =0; public static StringBuilder sb = new StringBuilder(); public static boolean check[]; public static int arr[][] = new int[9][9]; public static void sudoku(int row,..

    [ 백준 ] 1560번 - N과 m (2) --- java 이용

    [ 백준 ] 1560번 - N과 m (2) --- java 이용

    N 과 m 자바를 이용해서 한다~! n 과 m (1) 번 문제와 거의 동일하고 우선 오름차순을 해야하기 때문에 정렬 알고리즘인 arr[index] > arr[index-1] 이 되는지 확인을 해주는 로직이 들어간다..! 또한 중복 없이기 때문에 중복을 체크해주기 위해 check[] boolean 배열을 통해서 체크해준다! import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.*; public class Main { public static int N, M =0; public static StringBuilder sb = new StringBuilder(); pub..