하고싶은걸 하자 ㅡ
close
프로필 사진

하고싶은걸 하자 ㅡ

github: @candy3157

  • 분류 전체보기 (68)
    • 일상 (0)
    • DreamHack (15)
      • Web hacking (15)
    • Dev (50)
      • Python (2)
      • Algorithm | Python (45)
      • Web Development (3)
    • CVE 분석 (2)
  • 홈
  • 태그
  • 방명록
[Python] 백준 #2012번: 등수 매기기

[Python] 백준 #2012번: 등수 매기기

어떻게 불만도를 최소화 해서 등수를 매길 것인가?입력 받은 등수를 먼저 `sort`로 정렬 한 후 생각한 등수와 실제 등수가 다를 경우, 불만도를 구하는 방식으로 해결코드import sysinput = sys.stdin.readlineN = int(input())arr = []dis = 0for i in range(N): arr.append(int(input()))arr.sort()for i in range(N): if arr[i] != i+1: dis += abs(arr[i] - (i+1))print(dis) 정렬, 그리디 핵심로직#1for i in range(N): if arr[i] != i+1: dis += abs(arr[i] - (i+1))1등 부터 마지막 등수 까지 불만도를 가질..

  • format_list_bulleted Dev/Algorithm | Python
  • · 2026. 3. 16.
[Python] 백준 #18110번: solved.ac

[Python] 백준 #18110번: solved.ac

절사평균을 구할 때 가장 높은 난이도에 투표한 a명과 가장 낮은 난이도에 투표한 a명을 평균계산에서 제외해야 하기 때문에 어떻게 제외 할 것인가?파이썬의 slice를 이용하여 구현함맨 처음 내가 구현한 것이 왜 틀렸는가?파이썬의 `round`함수는 0.5 일때 문제에서 기대하는 반올림과 다르게 동작할 수 있음`n == 0`일때의 경우를 고려해야 함코드# 맨 처음에 내가 구현했다가 런타임 오류가 발생한 코드n = int(input())Trimmed = round(n * (15/100))difficulties = []for i in range(n): difficulties.append(int(input()))difficulties.sort()total = len(difficulties)Trimmed_dat..

  • format_list_bulleted Dev/Algorithm | Python
  • · 2026. 3. 15.
[Python] 백준 #10845번: 큐

[Python] 백준 #10845번: 큐

만약 `push`를 입력받는다면 `push`와 `1`을 어떻게 동시에 처리할 것인가배열을 선언해서 배열의 `0번 인덱스에` 명령을 입력받고, `1번 인덱스`에 숫자를 입력받음입력받는 케이스에 따른 결과값 구분`if ~ elif문`을 사용하여 각 케이스별 결과값을 구분함큐가 비어있는지 안비어있는지 유무를 어떻게 구분할것인가`if not dq:` 를 사용한다면 `dq(큐)`가 비어있다면 실행되게 된다.`pop`을 입력받는 경우 가장 앞의 정수를 빼야한다`pop()` 은 가장 오른쪽의 요소를 반환하기 때문에 `popleft()`를 사용해야함코드from collections import dequequeue = []dq = deque(queue)n = int(input())for _ in range(n): tm..

  • format_list_bulleted Dev/Algorithm | Python
  • · 2026. 3. 4.
[Python] 백준 #1874번: 스택 수열

[Python] 백준 #1874번: 스택 수열

다음으로 꺼내야 하는 값이 `num`이라면, `num`이 스택 맨 위(top)에 올라올 때까지 `count`를 증가시키며 `push`한다.`push`를 끝낸 뒤 스택 `top`이 `num`이면 `pop`해서 출력(연산 기록에 -)한다.`push`를 더 해도 `top`이 `num`이 될 수 없는 경우가 생기는데, 이때는 수열을 만들 수 없으므로 NO다.코드n = int(input())seq = [int(input()) for _ in range(n)]count = 1stack = []pri = []possible = Truefor num in seq: while count 스택 핵심로직#1count = 1 # 1부터 차례대로 수열에 append하는 숫자stack = [] # 위 숫자가 appe..

  • format_list_bulleted Dev/Algorithm | Python
  • · 2026. 3. 3.
[Python] 백준 #15650번: N과 M(2)

[Python] 백준 #15650번: N과 M(2)

문제의 조건을 만족하는 수열 출력start는 1부터 N 까지 순회하며 순열을 찾으면 사전 순 수열을 찾을 수 있음중복되는 수열 X재귀함수의 시작을 start로 해서 앞에서 고른 수보다 작은 수를 고르지 않게 해서 순서만 다른 중복을 막을 수 있음sol(1) → 1, 2, 3, ..., N 모두 시도 가능처음부터 1은 아예 못 고름만약 sol(2)로 시작하면처음부터 1은 아예 못 고름즉 2 ~ N만 탐색함 (원하는 전체 경우를 못 구함)코드N, M = map(int, input().split())seq = []def sol(start): if (len(seq)==M): print(*seq) return for num in range(start, N+1): seq.append(nu..

  • format_list_bulleted 카테고리 없음
  • · 2026. 2. 27.
[Python] 백준 #1914번: 하노이탑

[Python] 백준 #1914번: 하노이탑

이동과정 알아내기1개의 원판만 있을 때는 당연히 바로 옮기면 됨(1번막대→3번막대)n개일 땐1단계 : 1번막대→2번막대로 마지막 원판 빼고 전부 옮긴다2단계 : 1번막대에 남은 1개를 1번막대→3번막대로 옮긴다3단계 : 2번막대→3번막대로 모두 옮긴다이동횟수 알아내기이동횟수는 항상 2^n - 1코드def hanoi(n, start, end): if (n==1): print(start, end) return hanoi(n-1, start, 6-start-end) # 1단계 print(start, end) # 2단계 hanoi(n-1, 6-start-end, end) # 3단계n = int(input())print(2**n-1)if (n 재귀함수 핵심로직#1 hanoi(n-1, st..

  • format_list_bulleted Dev/Algorithm | Python
  • · 2026. 2. 27.
  • navigate_before
  • 1
  • 2
  • 3
  • 4
  • ···
  • 12
  • navigate_next
공지사항
전체 카테고리
  • 분류 전체보기 (68)
    • 일상 (0)
    • DreamHack (15)
      • Web hacking (15)
    • Dev (50)
      • Python (2)
      • Algorithm | Python (45)
      • Web Development (3)
    • CVE 분석 (2)
인기 글
전체 방문자
오늘
어제
Copyright © candy3157 모든 권리 보유.
SKIN: Copyright © 쭈미로운 생활 All rights reserved. Designed by JJuum.
and Current skin "dev-roo" is modified by Jin.

티스토리툴바