본문 바로가기 메뉴 바로가기

Now or Never

프로필사진
  • 글쓰기
  • 관리
  • 태그
  • 방명록
  • RSS

Now or Never

검색하기 폼
  • 분류 전체보기 (292)
    • Java (43)
      • Java 올인원 패키지 (32)
      • Java Basic (7)
      • Java Design Pattern (1)
      • JDBC (2)
      • Java OOP (1)
    • Information (1)
    • 컴퓨터 공학(CS) (19)
      • 데이터베이스 (6)
      • 시스템 분석 및 설계 (2)
      • 운영체제 (7)
      • 네트워크 기본 정보 (4)
    • Study (49)
      • DataStructure (11)
      • TIL in Japanese (Today I Le.. (27)
      • TIL in English (Today I Lea.. (2)
      • TIL (Today I Learned) (9)
    • JSP (27)
      • 인프런 JSP (23)
      • MVC1 게시판 만들기 (4)
    • CSS (2)
      • 생활코딩 - CSS (2)
    • javaScript (8)
      • 생활코딩 - JavaScript (4)
      • Udemy - WebBootcamp (1)
      • javaScript (3)
    • DataBase (13)
      • 생활코딩 - MySQL (1)
      • 오라클 SQL (10)
      • SQL 용어 (2)
    • Spring (17)
      • 인프런 - Spring (4)
      • SpringBoot & AWS (5)
      • 패캠 - Spring (1)
      • Maven (6)
      • Spring lecture (1)
    • Algorithm (65)
      • Algorithm Practice (21)
      • Codility (6)
      • 백준 (30)
      • SWEA (2)
      • 프로그래머스 (5)
    • HTML (2)
      • 클래스라이언 웹기초 (0)
      • HTML 용어 개념 (2)
    • 리눅스 (8)
      • 리눅스 기초 (1)
      • 생활코딩 리눅스 (0)
      • Ubuntu on Windows 10 (7)
    • 생각정리 (6)
    • 토막지식시리즈 (29)
      • GraphQL 토막지식 (3)
      • javascript 토막지식 (12)
      • React 토막지식 (7)
      • DB 토막지식 (1)
      • Rxjs 토막지식 (0)
      • 삽질기록 (4)
  • 방명록

Algorithm (65)
Leetcode 2910. Minimum Number of Groups to Create a Valid Assignment

문제 링크 - 그룹의 수를 최소화 해야하기 때문에 그룹안에 ball을 최대한 많이 넣어야 한다 (그리디) - 그룹핑을 할 때 나머지가 있으면 나머지로 그룹을 만들 수 있는지 확인해야 한다. function minGroupsForValidAssignment(balls: number[]): number { const map = new Map(); for (const n of balls) { map.set(n, (map.get(n) || 0) + 1); } let min = balls.length; for (const v of map.values()) { min = Math.min(min, v); } // size는 min 값부터 시작 (가장 큰 그룹을 만들 수 있는 크기, 그리디) ..

Algorithm/Algorithm Practice 2025. 2. 7. 01:18
[프로그래머스] 점프와 순간이동

문제링크 ( https://school.programmers.co.kr/learn/courses/30/lessons/12980 ) 1. 풀이 힌트 - 순간이동을 최대한 많이 해야하므로 n에서 2를 나눈다. - 나누어 떨어지지 않는다면 점프를 해야하는 구간이므로 answer을 카운트 한다. - 몫이 0이 되면 카운트한 answer을 출력한다. 2. 코드 풀이 function solution(n) { let answer = 0; while(n > 0) { if(n % 2 === 0) { n /= 2; } else { n--; answer++; } } return answer; } 3. 회고 - 처음에는 0부터 세는 방식으로 접근했다. 각 step에서 점프와 순간이동을 호출하는 재귀 함수를 구현했다. 결과는 ..

Algorithm/프로그래머스 2023. 10. 3. 16:47
프로그래머스 - 배달 (Javascript)

문제링크 ( https://programmers.co.kr/learn/courses/30/lessons/12978 ) 아이디어 1) 1번 마을에서 각 마을로 갈 수 있는 최단 시간을 저장하기 위한 배열 dp 선언 2) 인접행렬(map)을 만들어 문제의 input으로 주어진 road를 통해 가중치 그래프 구현. 3) 구현한 인접행렬을 이용하여 K시간 이내에 1번 마을에서 갈 수 있는 최대 마을 수를 구함 (dfs) 3-1) dfs 함수는 인접행렬에서 탐색하려하는 행의 인덱스 (idx, 즉 마을)와 각 마을을 거쳐오면서 소요된 시간의 합 (sum)을 인자로 받음. 3-2) idx번째의 행 (특정 마을)을 탐색하면서 마을이 연결되어 있으면서 (time > 0) 현재 마을이동 시간과 소요된 시간의 합이 K 보다..

Algorithm/프로그래머스 2022. 1. 26. 10:00
프로그래머스 - 프렌즈4블록 (Javascript)

문제 링크 ( https://programmers.co.kr/learn/courses/30/lessons/17679# ) 아이디어 1. board를 2차원 배열로 변환(boardArr) 2. 변환된 배열을 0,0 -> m - 1, n - 1까지 순회하면서 4블록을 만들 수 있는 경우를 체크 3. 체크된 범위를 객체화하여 지워질 배열(deletedArr)에 저장 4. deletedArr를 순회하면서 boardArr의 공간을 비움 5. 비워진 공간에 따라 프렌즈들을 빈 공간으로 내림 (DropBlockToEmptySpace) 6. 1 ~ 5의 시행을 더이상 지울 4블록이 없을 때 까지 시행 (deletedArr가 empty일 때) 7. 최종적으로 만들어진 boardArr를 순회하면서 지워진 부분 (빈스트링인..

Algorithm 2021. 11. 23. 00:36
이전 1 2 3 4 ··· 17 다음
이전 다음
최근에 올라온 글
최근에 달린 댓글
TAG
  • likelion
  • 20200421
  • 20200428
  • 20200425
  • 20200622
  • chapter8
  • 20200319
  • 20200427
  • 20200413
  • 20200503
  • 20200403
  • 20200423
  • 20201204
  • 20200415
  • 20200504
  • 20200624
  • 20200406
  • 생활코딩리눅스
  • 20200502
  • 20200317
  • chapter7
  • 백준
  • 20200330
  • 20200429
  • 20200804
  • 20200510
  • 20200417
  • 20200512
  • 20200424
  • 20200420
more
Total
Today
Yesterday

Blog is powered by Tistory / Designed by Tistory

티스토리툴바