매일 작성하는 개발 일기
close
프로필 배경
프로필 로고

매일 작성하는 개발 일기

  • 분류 전체보기 (486) N
    • JavaScript (31)
    • Flutter (15)
    • HTML CSS (2)
    • 알고리즘 (251) N
      • Programmers (107) N
      • Baekjoon (144) N
    • CS (11)
      • 컴퓨터 구조 (5)
      • 네트워크 (6)
    • Projects (0)
      • 분양모음집 (0)
      • 교정일기 (0)
      • 웹소설 캘린더 (0)
    • 스파르타코딩클럽 (166)
      • 내일배움캠프 (152)
      • 웹개발 종합반 (9)
      • 앱개발 종합반 (5)
    • 개발 기록장 (6)
    • 회고 (4)
  • 홈
  • JavaScript
  • Flutter
  • 태그
  • 방명록
[백준/실버1] 10844번 쉬운 계단 수 | DP | 파이썬 Python

[백준/실버1] 10844번 쉬운 계단 수 | DP | 파이썬 Python

문제https://www.acmicpc.net/problem/1084445656이란 수를 보자.이 수는 인접한 모든 자리의 차이가 1이다. 이런 수를 계단 수라고 한다.N이 주어질 때, 길이가 N인 계단 수가 총 몇 개 있는지 구해보자. 0으로 시작하는 수는 계단수가 아니다. 입력첫째 줄에 N이 주어진다. N은 1보다 크거나 같고, 100보다 작거나 같은 자연수이다. 출력첫째 줄에 정답을 1,000,000,000으로 나눈 나머지를 출력한다. 예제 다른 사람의 풀이N = int(input())dp = [[0]*10 for _ in range(N+1)]for i in range(1, 10): dp[1][i] = 1for i in range(2, N+1): for j in range(10): ..

  • format_list_bulleted 알고리즘/Baekjoon
  • · 2025. 4. 27.
  • textsms
[React] 성능 최적화: React.memo보다 먼저 고려할 컴포지션 패턴

[React] 성능 최적화: React.memo보다 먼저 고려할 컴포지션 패턴

원문: Beyond React.memo: Smarter Ways to Optimize Performance 소개React 성능 최적화와 관련하여 개발자가 가장 먼저 찾는 도구는 `React.memo`입니다. 이는 리렌더링 문제를 발견했을 때 잡는 망치인데, 갑자기 모든 것이 못처럼 보입니다. 하지만 많은 경우에 React의 구성적 특성에 더 잘 부합하는 더 간단하고 우아한 솔루션이 있다고 하면 어떨까요? 오늘은 React가 컴포넌트를 렌더링하는 방법에 대한 몇 가지 기본 개념을 살펴보고, 메모이제이션의 복잡성과 문제없이 성능을 크게 향상시킬 수 있는 컴포지션 패턴을 공유하고자 합니다. 리렌더링 미스터리 일반적인 시나리오부터 시작하겠습니다: 버튼으로 트리거되는 모달 대화창과 같은 간단한 기능을 React..

  • format_list_bulleted JavaScript
  • · 2025. 4. 26.
  • textsms
[백준/실버3] 1463번 1로 만들기 | DP | Python

[백준/실버3] 1463번 1로 만들기 | DP | Python

문제https://www.acmicpc.net/problem/1463정수 X에 사용할 수 있는 연산은 다음과 같이 세 가지 이다.X가 3으로 나누어 떨어지면, 3으로 나눈다.X가 2로 나누어 떨어지면, 2로 나눈다.1을 뺀다.정수 N이 주어졌을 때, 위와 같은 연산 세 개를 적절히 사용해서 1을 만들려고 한다. 연산을 사용하는 횟수의 최솟값을 출력하시오. 입력첫째 줄에 1보다 크거나 같고, 10^6보다 작거나 같은 정수 N이 주어진다. 출력첫째 줄에 연산을 하는 횟수의 최솟값을 출력한다. 예제 다른 사람의 풀이N = int(input())dp = [0] * (N+1)for i in range(2, N+1): dp[i] = dp[i-1] + 1 if i % 3 == 0: dp[i] ..

  • format_list_bulleted 알고리즘/Baekjoon
  • · 2025. 4. 26.
  • textsms
[백준/실버3] 2579번 계단 오르기 | DP | 파이썬 Python

[백준/실버3] 2579번 계단 오르기 | DP | 파이썬 Python

문제https://www.acmicpc.net/problem/2579계단 오르기 게임은 계단 아래 시작점부터 계단 꼭대기에 위치한 도착점까지 가는 게임이다. 과 같이 각각의 계단에는 일정한 점수가 쓰여 있는데 계단을 밟으면 그 계단에 쓰여 있는 점수를 얻게 된다.예를 들어 와 같이 시작점에서부터 첫 번째, 두 번째, 네 번째, 여섯 번째 계단을 밟아 도착점에 도달하면 총 점수는 10 + 20 + 25 + 20 = 75점이 된다.계단 오르는 데는 다음과 같은 규칙이 있다.계단은 한 번에 한 계단씩 또는 두 계단씩 오를 수 있다. 즉, 한 계단을 밟으면서 이어서 다음 계단이나, 다음 다음 계단으로 오를 수 있다.연속된 세 개의 계단을 모두 밟아서는 안 된다. 단, 시작점은 계단에 포함되지 않는다.마지막 도착..

  • format_list_bulleted 알고리즘/Baekjoon
  • · 2025. 4. 25.
  • textsms
[백준/실버1] 1932번 정수 삼각형 | DP | 파이썬 Python

[백준/실버1] 1932번 정수 삼각형 | DP | 파이썬 Python

문제https://www.acmicpc.net/problem/1932 7 3 8 8 1 0 2 7 4 44 5 2 6 5위 그림은 크기가 5인 정수 삼각형의 한 모습이다.맨 위층 7부터 시작해서 아래에 있는 수 중 하나를 선택하여 아래층으로 내려올 때, 이제까지 선택된 수의 합이 최대가 되는 경로를 구하는 프로그램을 작성하라. 아래층에 있는 수는 현재 층에서 선택된 수의 대각선 왼쪽 또는 대각선 오른쪽에 있는 것 중에서만 선택할 수 있다.삼각형의 크기는 1 이상 500 이하이다. 삼각형을 이루고 있는 각 수는 모두 정수이며, 범위는 0 이상 9999 이하이다. 입력첫째 줄에 삼각형의 크기 n(1 ≤ n ≤ 500)이 주어지고, 둘째 줄부터 ..

  • format_list_bulleted 알고리즘/Baekjoon
  • · 2025. 4. 24.
  • textsms
[백준/실버1] 1149번 RGB거리 | DP | 파이썬 Python

[백준/실버1] 1149번 RGB거리 | DP | 파이썬 Python

문제https://www.acmicpc.net/problem/1149RGB거리에는 집이 N개 있다. 거리는 선분으로 나타낼 수 있고, 1번 집부터 N번 집이 순서대로 있다.집은 빨강, 초록, 파랑 중 하나의 색으로 칠해야 한다. 각각의 집을 빨강, 초록, 파랑으로 칠하는 비용이 주어졌을 때, 아래 규칙을 만족하면서 모든 집을 칠하는 비용의 최솟값을 구해보자.1번 집의 색은 2번 집의 색과 같지 않아야 한다.N번 집의 색은 N-1번 집의 색과 같지 않아야 한다.i(2 ≤ i ≤ N-1)번 집의 색은 i-1번, i+1번 집의 색과 같지 않아야 한다. 입력첫째 줄에 집의 수 N(2 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 각 집을 빨강, 초록, 파랑으로 칠하는 비용이 1번 집부터 한 줄에..

  • format_list_bulleted 알고리즘/Baekjoon
  • · 2025. 4. 23.
  • textsms
[백준/실버2] 1912번 연속합 | DP | 파이썬 Python

[백준/실버2] 1912번 연속합 | DP | 파이썬 Python

문제https://www.acmicpc.net/problem/1912n개의 정수로 이루어진 임의의 수열이 주어진다. 우리는 이 중 연속된 몇 개의 수를 선택해서 구할 수 있는 합 중 가장 큰 합을 구하려고 한다. 단, 수는 한 개 이상 선택해야 한다.예를 들어서 10, -4, 3, 1, 5, 6, -35, 12, 21, -1 이라는 수열이 주어졌다고 하자. 여기서 정답은 12+21인 33이 정답이 된다. 입력첫째 줄에 정수 n(1 ≤ n ≤ 100,000)이 주어지고 둘째 줄에는 n개의 정수로 이루어진 수열이 주어진다. 수는 -1,000보다 크거나 같고, 1,000보다 작거나 같은 정수이다. 출력첫째 줄에 답을 출력한다. 예제 나의 풀이 (실패)N = int(input())nums = list(map(i..

  • format_list_bulleted 알고리즘/Baekjoon
  • · 2025. 4. 22.
  • textsms
[프로그래머스/Lv.2] 할인 행사 | 파이썬 Python

[프로그래머스/Lv.2] 할인 행사 | 파이썬 Python

문제https://school.programmers.co.kr/learn/courses/30/lessons/131127XYZ 마트는 일정한 금액을 지불하면 10일 동안 회원 자격을 부여합니다. XYZ 마트에서는 회원을 대상으로 매일 한 가지 제품을 할인하는 행사를 합니다. 할인하는 제품은 하루에 하나씩만 구매할 수 있습니다. 알뜰한 정현이는 자신이 원하는 제품과 수량이 할인하는 날짜와 10일 연속으로 일치할 경우에 맞춰서 회원가입을 하려 합니다.예를 들어, 정현이가 원하는 제품이 바나나 3개, 사과 2개, 쌀 2개, 돼지고기 2개, 냄비 1개이며, XYZ 마트에서 14일간 회원을 대상으로 할인하는 제품이 날짜 순서대로 치킨, 사과, 사과, 바나나, 쌀, 사과, 돼지고기, 바나나, 돼지고기, 쌀, 냄비, ..

  • format_list_bulleted 알고리즘/Programmers
  • · 2025. 4. 21.
  • textsms
[프로그래머스/Lv.2] 연속 부분 수열 합의 개수 | 파이썬 Python

[프로그래머스/Lv.2] 연속 부분 수열 합의 개수 | 파이썬 Python

문제https://school.programmers.co.kr/learn/courses/30/lessons/131701철호는 수열을 가지고 놀기 좋아합니다. 어느 날 철호는 어떤 자연수로 이루어진 원형 수열의 연속하는 부분 수열의 합으로 만들 수 있는 수가 모두 몇 가지인지 알아보고 싶어졌습니다. 원형 수열이란 일반적인 수열에서 처음과 끝이 연결된 형태의 수열을 말합니다. 예를 들어 수열 [7, 9, 1, 1, 4] 로 원형 수열을 만들면 다음과 같습니다.원형 수열은 처음과 끝이 연결되어 끊기는 부분이 없기 때문에 연속하는 부분 수열도 일반적인 수열보다 많아집니다.원형 수열의 모든 원소 elements가 순서대로 주어질 때, 원형 수열의 연속 부분 수열 합으로 만들 수 있는 수의 개수를 return 하도..

  • format_list_bulleted 알고리즘/Programmers
  • · 2025. 4. 20.
  • textsms
[프로그래머스/Lv.2] 예상 대진표 | 파이썬 Python

[프로그래머스/Lv.2] 예상 대진표 | 파이썬 Python

문제https://school.programmers.co.kr/learn/courses/30/lessons/12985△△ 게임대회가 개최되었습니다. 이 대회는 N명이 참가하고, 토너먼트 형식으로 진행됩니다. N명의 참가자는 각각 1부터 N번을 차례대로 배정받습니다. 그리고, 1번↔2번, 3번↔4번, ... , N-1번↔N번의 참가자끼리 게임을 진행합니다. 각 게임에서 이긴 사람은 다음 라운드에 진출할 수 있습니다. 이때, 다음 라운드에 진출할 참가자의 번호는 다시 1번부터 N/2번을 차례대로 배정받습니다. 만약 1번↔2번 끼리 겨루는 게임에서 2번이 승리했다면 다음 라운드에서 1번을 부여받고, 3번↔4번에서 겨루는 게임에서 3번이 승리했다면 다음 라운드에서 2번을 부여받게 됩니다. 게임은 최종 한 명이 ..

  • format_list_bulleted 알고리즘/Programmers
  • · 2025. 4. 19.
  • textsms
  • navigate_before
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • ···
  • 49
  • navigate_next
GitHub Link
전체 카테고리
  • 분류 전체보기 (486) N
    • JavaScript (31)
    • Flutter (15)
    • HTML CSS (2)
    • 알고리즘 (251) N
      • Programmers (107) N
      • Baekjoon (144) N
    • CS (11)
      • 컴퓨터 구조 (5)
      • 네트워크 (6)
    • Projects (0)
      • 분양모음집 (0)
      • 교정일기 (0)
      • 웹소설 캘린더 (0)
    • 스파르타코딩클럽 (166)
      • 내일배움캠프 (152)
      • 웹개발 종합반 (9)
      • 앱개발 종합반 (5)
    • 개발 기록장 (6)
    • 회고 (4)
인기 글
최근 글
전체 방문자
오늘
어제
전체
Copyright © 쭈미로운 생활 All rights reserved.
Designed by JJuum

티스토리툴바