본문 바로가기

Algorithm705

[수학/기하학] 백준 1004 어린 왕자 - 파이썬(Python) [ Contents ] 1. 문제 (링크 참조) 1004번: 어린 왕자 입력의 첫 줄에는 테스트 케이스의 개수 T가 주어진다. 그 다음 줄부터 각각의 테스트케이스에 대해 첫째 줄에 출발점 (x1, y1)과 도착점 (x2, y2)이 주어진다. 두 번째 줄에는 행성계의 개수 n이 주 www.acmicpc.net 2. 문제 풀이 출발지(x1, y1)부터 어린왕자가 도착지(x2, y2)까지 행성 여행을 합니다. N개의 행성들이 주어지며, 최대한 행성들을 지나치지 않고 가야 합니다. 중간에 아무리 가로막고 있어도, 우회해서 갈 수 있습니다. 따라서, 출발지와 도착지를 감싸는 행성계만 찾으면 됩니다. 3. 코드 import sys input = sys.stdin.readline # 입력 T = int(input().. 2022. 11. 16.
[Greedy/그리디] 백준 14487 욱제는 효도쟁이야!! - 파이썬(Python) [ Contents ] 1. 문제 (링크 참조) 14487번: 욱제는 효도쟁이야!! 욱제는 KOI를 망친 기념으로 부모님과 함께 코드게이트 섬으로 여행을 떠났다. 코드게이트 섬에는 오징어로 유명한 준오마을(심술쟁이 해커 임준오 아님), 밥으로 유명한 재훈마을, 영중마을 등 www.acmicpc.net 2. 문제 풀이 원형으로 이어진 관광지 간 도로의 이동비용이 주어집니다. 이들을 순회하는 데에 필요한 최소 비용을 계산해야 합니다. 원형으로 순회할 때, 한 곳은 지나지 않아도 됩니다. 즉, 제일 비싼 교통비가 드는 경로만 제외하고 순회합니다. 3. 코드 import sys input = sys.stdin.readline # 입력 n = int(input()) # 마을의 수 town = list(map(in.. 2022. 11. 15.
[DP/수학] 백준 16395 파스칼의 삼각형 - 파이썬(Python) [ Contents ] 1. 문제 (링크 참조) 16395번: 파스칼의 삼각형 파스칼의 삼각형은 이항계수를 삼각형 형태로 배열한 것인데, 블레즈 파스칼(1623-1662)을 따라 이름 붙여졌다. 단순한 형태로, 파스칼의 삼각형은 다음과 같은 방법으로 만들 수 있다. N번째 행 www.acmicpc.net 2. 문제 풀이 파스칼의 삼각형으로 이항계수를 구하는 문제입니다. 3. 코드 from math import comb # 입력 n, k = map(int, input().split()) # 이항계수 print(comb(n-1, k-1)) 2022. 11. 14.
[구현/수학] 백준 11945 뜨거운 붕어빵 - 파이썬(Python) [ Contents ] 1. 문제 (링크 참조) 11945번: 뜨거운 붕어빵 입력으로 주어지는 각 행을 반전시켜서 출력하면 됩니다. 입력의 1행 1열은 출력의 1행 M열로, 입력의 1행 2열은 출력의 1행 M-1열로 … 입력의 1행 M열은 출력의 1행 1열로 … 입력의 N행 M열은 출력 www.acmicpc.net 2. 문제 풀이 붕어빵의 모양이 입력으로 주어집니다. 좌우반전해서 출력해야 합니다. 3. 코드 import sys input = sys.stdin.readline # 반대로 출력 N, M = map(int, input().split()) for _ in range(N): print(input().rstrip()[::-1]) 2022. 11. 13.
[수학/브루트포스] 백준 1837 암호제작 - 파이썬(Python) [ Contents ] 1. 문제 (링크 참조) 1837번: 암호제작 원룡이는 한 컴퓨터 보안 회사에서 일을 하고 있다. 그러던 도중, 원룡이는 YESWOA.COM 으로부터 홈페이지 유저들의 비밀키를 만들라는 지시를 받았다. 원룡이는 비밀 키를 다음과 같은 방법으로 www.acmicpc.net 2. 문제 풀이 두 소수의 곱이 주어집니다. 만약 K보다 작은 소수의 곱으로 이루어졌다면, 좋은 암호가 아닙니다. 좋은 암호인지 판별합니다. 2022.01.16 - [Algorithm] - [Algorithm] 브루트 포스(Brute Force)는 노가다 기법? [Algorithm] 브루트 포스(Brute Force)는 노가다 기법? [ Contents ] 1. 브루트 포스란? Brute(짐승 같은, 난폭한) + .. 2022. 11. 12.
[구현/수학] 백준 2981 검문 - 파이썬(Python) [ Contents ] 1. 문제 (링크 참조) 2981번: 검문 트럭을 타고 이동하던 상근이는 경찰의 검문을 받게 되었다. 경찰은 상근이가 운반하던 화물을 하나하나 모두 확인할 것이기 때문에, 검문하는데 엄청나게 오랜 시간이 걸린다. 상근이는 시간 www.acmicpc.net 2. 문제 풀이 N개의 수가 주어집니다. 이를 M으로 나누었을 때, 나머지가 모두 같아야 합니다. M은 1보다 크며, 가능한 모든 M을 출력해야 합니다. 입력: A, B, C A = a*M + x B = b*M + x C = c*M + x 위와 같이 A, B, C가 주어질 때, M으로 나눈 나머지는 모두 같아야 합니다. 하지만 이렇게 봐선 M을 찾기가 어렵습니다. B - A = M(b-a) C - B = M(c-b) 나머지가 같으.. 2022. 11. 11.
[구현/문자열] 백준 10174 팰린드롬 - 파이썬(Python) [ Contents ] 1. 문제 (링크 참조) 10174번: 팰린드롬 팰린드롬은 앞으로 읽으나 뒤로 읽으나 똑같은 단어나 숫자들을 말한다. 일반적으로 대소문자를 구분하지 않지만, 공백은 구분한다. 다음은 팰린드롬의 예시이다. Anna Harrah Arora Nat tan 9998999 123 www.acmicpc.net 2. 문제 풀이 문자열이 주어집니다. 해당 문자열이 팰린드롬(회문)인지 판별해야 합니다. 3. 코드 n = int(input()) for _ in range(n): string = input().lower() # 대소문자 구분하지 않음 # 팰린드롬 판별 if string == string[::-1]: print("Yes") else: print("No") 대소문자를 구분하지 않으므로, .. 2022. 11. 10.
[구현/수학] 백준 1408 24 - 파이썬(Python) [ Contents ] 1. 문제 (링크 참조) 1408번: 24 도현이는 Counter Terror Unit (CTU)에서 일하는 특수요원이다. 도현이는 모든 사건을 정확하게 24시간이 되는 순간 해결하는 것으로 유명하다. 도현이는 1시간 만에 범인을 잡을 수 있어도 잡지 않는 www.acmicpc.net 2. 문제 풀이 단순히 시간을 계산하는 문제입니다. 하지만 의외로 시간 계산이 까다로울 수 있어요. 특히 시간은 24진법, 분과 초는 60진법이기 때문에 혼동이 올 수 있어요. 이럴 때는 시간과 분, 초를 따로 따로 계산하는 것보다 '초'로 환산해서 계산하는 게 더 간단할 수 있습니다. 3. 코드 # 입력 current_time = list(map(int, input().split(':'))) sta.. 2022. 11. 9.
[구현/문자열] 백준 10823 더하기 2 - 파이썬(Python) [ Contents ] 1. 문제 (링크 참조) 10823번: 더하기 2 문자열 S가 여러 줄에 걸쳐서 주어진다. S의 길이는 최대 10,000이다. 포함되어있는 정수는 1,000,000보다 작거나 같은 자연수이다. www.acmicpc.net 2. 문제 풀이 입력의 끝이 정해지지 않은 문자열이 주어집니다. 문자열은 숫자와 쉼표로 이루어져 있으며, 숫자의 합을 구해야 합니다. 3. 코드 res = '' while True: try: tmp = input() res += tmp except EOFError: break numlist = list(map(int, res.split(","))) print(sum(numlist)) 입력이 더이상 주어지지 않으면 EOF Error를 호출합니다. 백준 온라인 저지에.. 2022. 11. 8.