반응형

프로그래밍/백준 37

[파이썬(Python)] 백준 11866 요세푸스 문제 0

https://www.acmicpc.net/problem/11866백준 11866번 요세푸스 문제 0 | 실버 5 코드import sysn, k = map(int, sys.stdin.readline().split())nums = [i for i in range(1, n + 1)]josephus = [0] * nkill = kdel_num = k - 1josephus[0] = nums[del_num]nums.remove(kill)for m in range(1, n): nums_length = len(nums) del_num += (k - 1) del_num %= nums_length josephus[m] = nums[del_num] nums.remove(nums[del_num])..

[백준/파이썬] 1259 팰린드롬수(palindrome) 회문 판단하기

백준 1259 팰린드롬수 문제를 풀었습니다. 팰린드롬수, 회문의 경우 워낙 유명하다 보니 다양한 풀이법이 있습니다. https://www.acmicpc.net/problem/1259 1259번: 팰린드롬수 입력은 여러 개의 테스트 케이스로 이루어져 있으며, 각 줄마다 1 이상 99999 이하의 정수가 주어진다. 입력의 마지막 줄에는 0이 주어지며, 이 줄은 문제에 포함되지 않는다. www.acmicpc.net 제가 애용하는 파이썬 코딩도장에서 소개하는 팰린드롬 풀이법 링크를 아래 첨부합니다. https://dojang.io/mod/page/view.php?id=2331 파이썬 코딩 도장: 28.1 회문 판별하기 Unit 28. 회문 판별과 N-gram 만들기 이번에는 문자열을 응용해서 회문을 판별하는 방..

[백준/파이썬] 1978 소수 찾기 알고리즘 구현하기

백준 1978 소수 찾기를 풀었습니다. 소수 찾기 알고리즘을 모른다면 좀 막막할 수도 있습니다. 중학교 때 배웠던 에라토스테네스의 체가 생각나기도 하고, 모든 수를 다 나눠줘야 하나 막막하기도 합니다. 막막하다면 아래 코드를 참고하시는 것도 좋을 것 같습니다. primeNumber()라는 함수로 구현해두었는데, 백지 상태에서 구현하기에는 쉽지 않은 코드입니다. 이런 식으로 하면 되는구나를 익히고 외우는 게 더 좋은 공부이지 않을까 싶습니다! https://www.acmicpc.net/problem/1978 1978번: 소수 찾기 첫 줄에 수의 개수 N이 주어진다. N은 100이하이다. 다음으로 N개의 수가 주어지는데 수는 1,000 이하의 자연수이다. www.acmicpc.net import sys de..

[백준/파이썬] 1920 수 찾기 : 이진검색트리 말고 세트(집합)으로 풀기, 시간초과 나는 이유

백준 1920 수 찾기를 풀었습니다. 1년 전에 시간 초과가 계속 떠서 포기했던 문제인데, 이번에 다시 도전해본 문제입니다. 군대 문제로 자료구조 공부를 아직 못했기에 이진검색트리 같은 건 잘 모르지만, 첫 입력하는 수들을 세트(집합)로만 바꿔도 시간초과 문제가 해결될 수 있었습니다. 아래 코드를 확인해주세요 https://www.acmicpc.net/problem/1920 1920번: 수 찾기 첫째 줄에 자연수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 줄에는 N개의 정수 A[1], A[2], …, A[N]이 주어진다. 다음 줄에는 M(1 ≤ M ≤ 100,000)이 주어진다. 다음 줄에는 M개의 수들이 주어지는데, 이 수들 www.acmicpc.net import sys n = int(sys..

[백준/파이썬] 1308번 D-Day

백준 1308번 D-Day 코드입니다. 정답률이 2024년 3월 31일 기준 22%로 낮은 정답률을 가진 문제입니다. 아래에 풀면서 주의해야 할 것들을 나열해놓을 테니 참고하시기 바랍니다! 다른 블로거들이 푼 코드를 읽어보니 Datetime 모듈을 이용한 것 같습니다. 저는 리스트를 활용해서 풀었습니다. https://www.acmicpc.net/problem/1308 1308번: D-Day 첫째 줄에 오늘의 날짜가 주어지고, 두 번째 줄에 D-Day인 날의 날짜가 주어진다. 날짜는 연도, 월, 일순으로 주어지며, 공백으로 구분한다. 입력 범위는 1년 1월 1일부터 9999년 12월 31일 까지 이다. www.acmicpc.net 코드 import sys startDate = list(map(int, s..

[백준/파이썬] 7785번 회사에 있는 사람(딕셔너리, 리스트 활용 문제)

리스트, 딕셔너리로 들어오면 개념이 좀 까다롭다. 아이디어 자체는 간단하지만, 막상 코드로 표현하는 게 쉽지 않은 파트다. 딕셔너리를 잘 활용할 수 있는 백준 문제 중에 7785번 문제에 대한 풀이이다. https://www.acmicpc.net/problem/7785 7785번: 회사에 있는 사람 첫째 줄에 로그에 기록된 출입 기록의 수 n이 주어진다. (2 ≤ n ≤ 106) 다음 n개의 줄에는 출입 기록이 순서대로 주어지며, 각 사람의 이름이 주어지고 "enter"나 "leave"가 주어진다. "enter"인 경우는 www.acmicpc.net import sys record={} n = int(sys.stdin.readline()) for _ in range(n): person, enterOrLe..

[백준/파이썬] 1085번 직사각형에서 탈출

import sys x, y, w, h = map(int, sys.stdin.readline().split()) mList = [x, y, w-x, h-y] m = mList[0] for i in mList: if i < m: m = i print(m) 1. 가장 짧은 길이는 현재 위치와 직사각형 각 변을 수직이 될 때 2. 현재 위치(x좌표, y좌표) 도는 직사각형의 가로 길이-x좌표, 직사각형의 세로 길이-y좌표 3. 각 길이의 후보군을 계산한 값을 리스트에 저장 4. 리스트 첫번째 요소를 m에 저장(m은 최솟값을 저장할 변수임) 5. 각 요소를 하나씩 비교하여 해당 요소가 m보다 작으면 m에 저장 6. m 출력

백준 티어 보는 법, 티어 순서, 문제별 티어 보는 법

코딩 연습을 하다 보면 백준이라는 사이트를 알게 됩니다 또, 백준에서 문제를 풀다 보면 티어가 궁금해지게 되는데, 본인이 해당하는 티어가 어디인지, 그리고 코딩 문제의 티어가 어느 수준인지 확인할 수 있는 방법에 대한 글입니다. 백준 티어 순서 백준 티어의 순서는 Unrated - Bronze - Silver - Gold - Platinum - Diamond - Ruby - Master 입니다. Unrated와 Master을 제외한 티어에는 V부터 I까지 숫자가 매겨져 있으며, V가 해당 티어의 가장 낮은 레벨이고, I가 해당 티어의 가장 높은 레벨입니다. 백준 티어 보는 법 https://www.acmicpc.net/ Baekjoon Online Judge Baekjoon Online Judge 프로그..

[파이썬(Python)] 백준 문제 풀이 1065 한수

백준 1065번 한수 문제에 대한 파이썬(Python) 풀이입니다. 아래 답안은 참고만 해주시길 바랍니다. https://www.acmicpc.net/problem/1065 1065번: 한수 어떤 양의 정수 X의 각 자리가 등차수열을 이룬다면, 그 수를 한수라고 한다. 등차수열은 연속된 두 개의 수의 차이가 일정한 수열을 말한다. N이 주어졌을 때, 1보다 크거나 같고, N보다 작거나 www.acmicpc.net def count_hansu(x): count = 0 for i in range(1, x+1): if 1

반응형