분류 전체보기

    [python] 프로그래머스 - 빛의 경로 사이클(월간 코드 챌린지 시즌3)

    [python] 프로그래머스 - 빛의 경로 사이클(월간 코드 챌린지 시즌3)

    🤔문제 해결 💨 문제에서 시키는대로 그대로 풀었다. (구현) 💫 visited 라는 3차원 배열을 만든다. 제일 안쪽의 원소에는 'U','D','R','L' 이 들어갈 수 있는데 해당 위치(i, j) 에서 이동한 방향을 담고 있다. 싸이클이 다르면 절대로 이동경로가 하나라도 똑같은게 나올 수 없기 때문에. 이동할 때 UDRL 이 있는지 확인을 하고 이동한다. 💻소스 코드 def solution(grid): answer = [] N, M = len(grid), len(grid[0]) visited = [[set() for _ in range(M)] for _ in range(N)] # U, D, L, R for i in range(N): for j in range(M): for k in 'UDLR': cn..

    [python] 프로그래머스 - n^2 배열 자르기(월간 코드 챌린지 시즌3)

    [python] 프로그래머스 - n^2 배열 자르기(월간 코드 챌린지 시즌3)

    🤔문제 해결 💨 규칙을 찾아내는 수학문제? 같은 느낌, 문제의 설명대로 풀면 10^7 이므로 시간초과 발생.... 좌표를 활용하여 문제풀이 💫 빈 배열에 숫자를 넣는 공식은 행(i), 열(j) 의 최대값 + 1 💫 ex) 0행 2열의 값은 3, 1행 0열의 값은 2 💫 그림(4 x 4 행렬)에서 left(7) 부터 right(14) 는 [1,3] 부터 [3,2] 💫 좌표를 구하는 방법은 left = [7//4, 7%4] = [1, 3] 💫 결국 풀이는 좌표를 구해서 그 지점의 숫자를 결과 배열에 넣어주면 된다. 💻소스 코드 def solution(n, left, right): answer = [] for i in range(left, right + 1): answer.append(max(i // n, i..

    [python] 프로그래머스 - 피로도(위클리챌린지)

    [python] 프로그래머스 - 피로도(위클리챌린지)

    🤔문제 해결 💫 던전의 길이가 최대 8개 이므로 permutation으로 탐험하는 순서의 모든 경우의 수를 구했다. 💫 탐험 순서대로 던전을 탐험하며 피로도 조건에 맞는 동굴만 탐험하며 갯수를 세어준다. 💫 각각의 사이클마다 탐험가능한 동굴의 갯수를 최대값으로 업데이트 해준다. 💻소스 코드 from itertools import permutations def solution(k, dungeons): answer = -1 for perm in (permutations(dungeons, len(dungeons))): cur_k = k expol_cnt = 0 for dungeon in perm: if cur_k >= dungeon[0]: expol_cnt += 1 cur_k -= dungeon[1] answ..

    [python] 프로그래머스 - 신고 결과 받기(2022 KAKAO BLIND RECRUITMENT)

    [python] 프로그래머스 - 신고 결과 받기(2022 KAKAO BLIND RECRUITMENT)

    🤔문제 해결 💨 다른 풀이의 경우 딕셔너리를 따로 만들지 않고 풀어서 메모리에서는 이점이 있고 속도가 느린 단점이 있지만, 나의 경우에 딕셔너리 쓰는 것을 좋아하여 메모리를 더 사용하지만 속도는 10배 빨랐다(ex. 3번문제 1000ms vs 100ms) 💻소스 코드 def solution(id_list, report, k): answer = [] reported_dict = {id: {'reporter': set(), 'mail_cnt': 0} for id in id_list} for r in report: reporter, reported_person = r.split(' ') reported_dict[reported_person]['reporter'].add(reporter) for key, val..

    svelte

    svelte

    특징 Wirte less code! 높은 가독성 유지 개발 시간 단축 쉬운 리팩토링 쉬운 디버깅 더 작은 번들(SPA 최적화) 👍 낮은 러닝 커브 No virtual DOM! No Diffing No Overhead 빠른 성능(퍼포먼스) Truly reactive! Framework-less VanilaJS Only use `devDependencies` 명시적 설계(창의적 작업) 단점 낮은 성숙도(작은 생태계) CDN 미제공 IE 미지원 사용하기 nodejs 설치 - 짝수 버전 (안정적인 버전), 8버전 이상 svelte template github 검색 > rollup(일반적) vs webpack npx degit sveltejs/template my-project-name degit명령어를 이용해 ..

    title 효과 주기

    const title = document.title; // 타이틀 let length = title.length; // 타이틀 길이 let isRemove = true; // 지우는지 채우는지 setInterval(() => { if (isRemove) { // 지울 때 길이 -1 씩, 끝까지 지우면 isRemove 를 false 로 바꿔서 채우는걸로 length > 0 ? length -= 1 : isRemove = false } else { // 채울 때 길이 +1 씩, 끝까지 채우면 isRemove 를 true 로 바꿔서 지우는걸로 length < title.length ? length += 1 : isRemove = true; } // "\u200E" 를 해주는 이유는 title 이 공백이면 주소..