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

매일 작성하는 개발 일기

  • 분류 전체보기 (590)
    • JavaScript (39)
    • Flutter (25)
    • HTML CSS (2)
    • 알고리즘 (334)
      • Programmers (170)
      • Baekjoon (164)
    • CS (11)
      • 컴퓨터 구조 (5)
      • 네트워크 (6)
    • 스파르타코딩클럽 (166)
      • 내일배움캠프 (152)
      • 웹개발 종합반 (9)
      • 앱개발 종합반 (5)
    • 개발 기록장 (7)
    • 회고 (6)
  • 홈
  • JavaScript
  • Flutter
  • 태그
  • 방명록
[백준] 15650번 N과 M (2) | 파이썬 Python

[백준] 15650번 N과 M (2) | 파이썬 Python

문제자연수 N과 M이 주어졌을 때, 아래 조건을 만족하는 길이가 M인 수열을 모두 구하는 프로그램을 작성하시오.1부터 N까지 자연수 중에서 중복 없이 M개를 고른 수열고른 수열은 오름차순이어야 한다. 입력첫째 줄에 자연수 N과 M이 주어진다. (1 ≤ M ≤ N ≤ 8) 출력한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다.수열은 사전 순으로 증가하는 순서로 출력해야 한다. 예제 나의 풀이N, M = map(int, input().split())S = []def backtraking(): if len(S) == M: print(*S) return for i in rang..

  • format_list_bulleted 알고리즘/Baekjoon
  • · 2025. 2. 27.
  • textsms
[백준] 15469번 N과 M (1) | 파이썬 Python

[백준] 15469번 N과 M (1) | 파이썬 Python

문제자연수 N과 M이 주어졌을 때, 아래 조건을 만족하는 길이가 M인 수열을 모두 구하는 프로그램을 작성하시오.1부터 N까지 자연수 중에서 중복 없이 M개를 고른 수열 입력첫째 줄에 자연수 N과 M이 주어진다. (1 ≤ M ≤ N ≤ 8) 출력한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다.수열은 사전 순으로 증가하는 순서로 출력해야 한다. 예제 나의 풀이1N, M = map(int, input().split())nums = []visited = [False]*(N+1)def backtracking(): if len(nums) == M: print(*nums) return ..

  • format_list_bulleted 알고리즘/Baekjoon
  • · 2025. 2. 26.
  • textsms
[백준] 7568번 덩치 | 파이썬 Python

[백준] 7568번 덩치 | 파이썬 Python

문제우리는 사람의 덩치를 키와 몸무게, 이 두 개의 값으로 표현하여 그 등수를 매겨보려고 한다. 어떤 사람의 몸무게가 x kg이고 키가 y cm라면 이 사람의 덩치는 (x, y)로 표시된다. 두 사람 A 와 B의 덩치가 각각 (x, y), (p, q)라고 할 때 x > p 그리고 y > q 이라면 우리는 A의 덩치가 B의 덩치보다 "더 크다"고 말한다. 예를 들어 어떤 A, B 두 사람의 덩치가 각각 (56, 177), (45, 165) 라고 한다면 A의 덩치가 B보다 큰 셈이 된다. 그런데 서로 다른 덩치끼리 크기를 정할 수 없는 경우도 있다. 예를 들어 두 사람 C와 D의 덩치가 각각 (45, 181), (55, 173)이라면 몸무게는 D가 C보다 더 무겁고, 키는 C가 더 크므로, "덩치"로만 볼 ..

  • format_list_bulleted 알고리즘/Baekjoon
  • · 2025. 2. 25.
  • textsms
[백준] 11050번 이항 계수 1 | 파이썬 Python

[백준] 11050번 이항 계수 1 | 파이썬 Python

문제 입력첫째 줄에 N과 K가 주어진다. (1 ≤ N ≤ 10, 0 ≤ K ≤ N) 출력 예제 나의 풀이N, K = map(int, input().split())def factorial(n): if n == 0: return 1 return n * factorial(n-1)print(factorial(N) // (factorial(K) * factorial(N - K)))이항 계수는 `N`개의 원소 중에서 `K`개를 순서에 상관없이 뽑았을 때 조합의 가짓수를 나타낸다.조합 공식을 이용해서 팩토리얼 재귀 함수로 풀었다. 참고(확률통계) 2. 경우의 수 - 순열과 조합 (기본)

  • format_list_bulleted 알고리즘/Baekjoon
  • · 2025. 2. 24.
  • textsms
[백준] 1065번 한수 | 파이썬 Python

[백준] 1065번 한수 | 파이썬 Python

문제어떤 양의 정수 X의 각 자리가 등차수열을 이룬다면, 그 수를 한수라고 한다. 등차수열은 연속된 두 개의 수의 차이가 일정한 수열을 말한다. N이 주어졌을 때, 1보다 크거나 같고, N보다 작거나 같은 한수의 개수를 출력하는 프로그램을 작성하시오.  입력첫째 줄에 1,000보다 작거나 같은 자연수 N이 주어진다. 출력첫째 줄에 1보다 크거나 같고, N보다 작거나 같은 한수의 개수를 출력한다. 예제 나의 풀이N = int(input())cnt = min(99, N)for num in range(100, N+1): a = num // 100 b = (num // 10) % 10 c = num % 10 if a - b == b - c: cnt += 1print(cn..

  • format_list_bulleted 알고리즘/Baekjoon
  • · 2025. 2. 22.
  • textsms
[백준] 1110번 더하기 사이클 | 파이썬 Python

[백준] 1110번 더하기 사이클 | 파이썬 Python

문제0보다 크거나 같고, 99보다 작거나 같은 정수가 주어질 때 다음과 같은 연산을 할 수 있다. 먼저 주어진 수가 10보다 작다면 앞에 0을 붙여 두 자리 수로 만들고, 각 자리의 숫자를 더한다. 그 다음, 주어진 수의 가장 오른쪽 자리 수와 앞에서 구한 합의 가장 오른쪽 자리 수를 이어 붙이면 새로운 수를 만들 수 있다. 다음 예를 보자.26부터 시작한다. 2+6 = 8이다. 새로운 수는 68이다. 6+8 = 14이다. 새로운 수는 84이다. 8+4 = 12이다. 새로운 수는 42이다. 4+2 = 6이다. 새로운 수는 26이다.위의 예는 4번만에 원래 수로 돌아올 수 있다. 따라서 26의 사이클의 길이는 4이다.N이 주어졌을 때, N의 사이클의 길이를 구하는 프로그램을 작성하시오. 입력첫째 줄에 N이..

  • format_list_bulleted 알고리즘/Baekjoon
  • · 2025. 2. 19.
  • textsms
[백준] 4779번 칸토어 집합 | 파이썬 Python

[백준] 4779번 칸토어 집합 | 파이썬 Python

문제칸토어 집합은 0과 1사이의 실수로 이루어진 집합으로, 구간 [0, 1]에서 시작해서 각 구간을 3등분하여 가운데 구간을 반복적으로 제외하는 방식으로 만든다.전체 집합이 유한이라고 가정하고, 다음과 같은 과정을 통해서 칸토어 집합의 근사를 만들어보자.1. -가 3N개 있는 문자열에서 시작한다.2. 문자열을 3등분 한 뒤, 가운데 문자열을 공백으로 바꾼다. 이렇게 하면, 선(문자열) 2개가 남는다.3. 이제 각 선(문자열)을 3등분 하고, 가운데 문자열을 공백으로 바꾼다. 이 과정은 모든 선의 길이가 1일때 까지 계속 한다.예를 들어, N=3인 경우, 길이가 27인 문자열로 시작한다.---------------------------여기서 가운데 문자열을 공백으로 바꾼다.--------- ..

  • format_list_bulleted 알고리즘/Baekjoon
  • · 2025. 2. 17.
  • textsms
[백준] 1076번 저항 | 파이썬 Python

[백준] 1076번 저항 | 파이썬 Python

문제전자 제품에는 저항이 들어간다. 저항은 색 3개를 이용해서 그 저항이 몇 옴인지 나타낸다. 처음 색 2개는 저항의 값이고, 마지막 색은 곱해야 하는 값이다. 저항의 값은 다음 표를 이용해서 구한다.색값곱black01brown110red2100orange31,000yellow410,000green5100,000blue61,000,000violet710,000,000grey8100,000,000white91,000,000,000예를 들어, 저항의 색이 yellow, violet, red였다면 저항의 값은 4,700이 된다. 입력첫째 줄에 첫 번째 색, 둘째 줄에 두 번째 색, 셋째 줄에 세 번째 색이 주어진다. 위의 표에 있는 색만 입력으로 주어진다. 출력입력으로 주어진 저항의 저항값을 계산하여 첫째 줄..

  • format_list_bulleted 알고리즘/Baekjoon
  • · 2025. 2. 16.
  • textsms
[백준] 25501번 재귀의 귀재 | 파이썬 Python

[백준] 25501번 재귀의 귀재 | 파이썬 Python

문제정휘는 후배들이 재귀 함수를 잘 다루는 재귀의 귀재인지 알아보기 위해 재귀 함수와 관련된 문제를 출제하기로 했다.팰린드롬이란, 앞에서부터 읽었을 때와 뒤에서부터 읽었을 때가 같은 문자열을 말한다. 팰린드롬의 예시로 AAA, ABBA, ABABA 등이 있고, 팰린드롬이 아닌 문자열의 예시로 ABCA, PALINDROME 등이 있다.어떤 문자열이 팰린드롬인지 판별하는 문제는 재귀 함수를 이용해 쉽게 해결할 수 있다. 아래 코드의 isPalindrome 함수는 주어진 문자열이 팰린드롬이면 1, 팰린드롬이 아니면 0을 반환하는 함수다.def recursion(s, l, r): if l >= r: return 1 elif s[l] != s[r]: return 0 else: return recu..

  • format_list_bulleted 알고리즘/Baekjoon
  • · 2025. 2. 15.
  • textsms
[백준] 10870번 피보나치 수 5 | 파이썬 Python

[백준] 10870번 피보나치 수 5 | 파이썬 Python

문제피보나치 수는 0과 1로 시작한다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1이다. 그 다음 2번째 부터는 바로 앞 두 피보나치 수의 합이 된다.이를 식으로 써보면 Fn = Fn-1 + Fn-2 (n ≥ 2)가 된다.n=17일때 까지 피보나치 수를 써보면 다음과 같다.0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597n이 주어졌을 때, n번째 피보나치 수를 구하는 프로그램을 작성하시오. 입력첫째 줄에 n이 주어진다. n은 20보다 작거나 같은 자연수 또는 0이다. 출력첫째 줄에 n번째 피보나치 수를 출력한다. 예제 나의 풀이N = int(input())def fibonacci(a, b, cnt): if N =..

  • format_list_bulleted 알고리즘/Baekjoon
  • · 2025. 2. 15.
  • textsms
  • navigate_before
  • 1
  • ···
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • ···
  • 25
  • navigate_next
GitHub Link
전체 카테고리
  • 분류 전체보기 (590)
    • JavaScript (39)
    • Flutter (25)
    • HTML CSS (2)
    • 알고리즘 (334)
      • Programmers (170)
      • Baekjoon (164)
    • CS (11)
      • 컴퓨터 구조 (5)
      • 네트워크 (6)
    • 스파르타코딩클럽 (166)
      • 내일배움캠프 (152)
      • 웹개발 종합반 (9)
      • 앱개발 종합반 (5)
    • 개발 기록장 (7)
    • 회고 (6)
인기 글
최근 글
전체 방문자
오늘
어제
전체
Copyright © 쭈미로운 생활 All rights reserved.
Designed by JJuum

티스토리툴바