본문 바로가기
728x90
반응형

백준243

[백준] 10866번 : 덱 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 10866번: 덱 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net 1. 문제 설명 2. 풀이과정 sys.stdin.readline() 함수를 사용하기 위해 sys 모듈을 불러온다. import sys deque 자료구조를 구현해 보는 문제이기에 리스트 대신 deque 자료구조를 사용해 봤다. deque 자료구조를 사용하기 위해 deque 모듈을 불러온다. from collections import deque 명령의 수를 입력받는다. N = int(sys.stdin.readline()) 명령의 결과를 저장할 deq.. 2023. 8. 10.
[백준] 1002번 : 터렛 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 1002번: 터렛 각 테스트 케이스마다 류재명이 있을 수 있는 위치의 수를 출력한다. 만약 류재명이 있을 수 있는 위치의 개수가 무한대일 경우에는 $-1$ 출력한다. www.acmicpc.net 1. 문제 설명 2. 풀이과정 해당 문제는 규현이과 승환이의 위치를 기준으로 재명이가 있을 수 있는 위치를 원으로 계산하여 각 그려진 두 원의 상관관계를 비교해 보면 해결할 수 있다. 두 원이 정확하게 일치할 경우, 1점이 겹치는 경우, 2점이 겹치는 경우, 아예 겹치지 않는 경우로 나눌 수 있다. sys.stdin.readline() 함수를 사용하기 위해 sys 모듈을 불러온다. import sys 전체 테스트 케이스 개수를 입력받는다. T = int(sys.stdin.readline()) 테스트 케이스 개수만.. 2023. 8. 9.
[백준] 1912번 : 연속합 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 1912번: 연속합 첫째 줄에 정수 n(1 ≤ n ≤ 100,000)이 주어지고 둘째 줄에는 n개의 정수로 이루어진 수열이 주어진다. 수는 -1,000보다 크거나 같고, 1,000보다 작거나 같은 정수이다. www.acmicpc.net 1. 문제 설명 2. 풀이과정 문제가 자꾸 시간초과가 나서 문제를 어떻게 계속 접근을 할지에 대해 고민하다가 알고리즘 분류에서 다이나믹 프로그래밍을 참고하여 해결하였다. 수열 중 합이 최대가 되도록 하기 위해 첫 번째 원소부터 마지막 원소까지 자신과 자신 + 앞 원소를 비교하여 더 큰 값을 저장하도록 구현하고 마지막에 제일 큰 값을 찾도록 구현하였다. sys.stdin.readline() 함수를 사용하기 위해 sys 모듈을 불러온다. import sys 전체 수의 개수를 .. 2023. 8. 8.
[백준] 15650번 : N과 M (2) - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 15650번: N과 M (2) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net 1. 문제 설명 2. 풀이과정 sys.stdin.readline() 함수를 사용하기 위해 sys 모듈을 불러온다. import sys 조합을 활용하기 위해 combinations 함수를 불러온다. from itertools import combinations 두 자연수를 입력받는다. N, M = map(int, sys.stdin.readline().split()) 조합에서 사용할 숫자들을 리스트로 생성한다. num = list(i for i in range(1,.. 2023. 8. 7.
[백준] 1924번 : 2007년 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 1924번: 2007년 첫째 줄에 빈 칸을 사이에 두고 x(1 ≤ x ≤ 12)와 y(1 ≤ y ≤ 31)이 주어진다. 참고로 2007년에는 1, 3, 5, 7, 8, 10, 12월은 31일까지, 4, 6, 9, 11월은 30일까지, 2월은 28일까지 있다. www.acmicpc.net 1. 문제 설명 2. 풀이과정 sys.stdin.readline() 함수를 사용하기 위해 sys 모듈을 불러온다. import sys 요일을 알고 싶은 날짜를 입력받는다. m, d = map(int, sys.stdin.readline().split()) 2007년의 월별 날짜수를 저장한다. month = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31] 2007년 1월 1일이 월요일이.. 2023. 8. 6.
[백준] 1932번 : 정수 삼각형 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 1932번: 정수 삼각형 첫째 줄에 삼각형의 크기 n(1 ≤ n ≤ 500)이 주어지고, 둘째 줄부터 n+1번째 줄까지 정수 삼각형이 주어진다. www.acmicpc.net 1. 문제 설명 2. 풀이과정 해당 문제는 올 수 있는 이전의 길의 결과 중 가장 최댓값을 계속 적으로 선택하여 오면 된다. 하여 처음부터 다음 길을 갈 때 다음 길에 지금까지 온 길의 합을 계속 저장하고, 마지막에 도착했을 때 마지막 길들 중 최댓값을 구하면 해결되는 문제이다. sys.stdin.readline() 함수를 사용하기 위해 sys 모듈을 불러온다. import sys 삼각형의 크기를 입력받는다. n = int(sys.stdin.readline()) 삼각형을 저장할 리스트를 생성한다. triangle = list() 삼각.. 2023. 8. 5.
[백준] 2309번 : 일곱 난쟁이 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 2309번: 일곱 난쟁이 아홉 개의 줄에 걸쳐 난쟁이들의 키가 주어진다. 주어지는 키는 100을 넘지 않는 자연수이며, 아홉 난쟁이의 키는 모두 다르며, 가능한 정답이 여러 가지인 경우에는 아무거나 출력한다. www.acmicpc.net 1. 문제 설명 2. 풀이과정 해당 문제는 9명 중 일곱 난쟁이가 될 수 있는 모든 경우를 구하고 각 경우마다 키의 합이 100이 되는지 확인하면 해결할 수 있다. sys.stdin.readline() 함수를 사용하기 위해 sys 모듈을 불러온다. import sys 조합 함수인 combinations() 함수를 사용하기 위해 combinations 모듈을 불러온다. from itertools import combinations 난쟁이들의 키를 저장할 리스트를 생성한다... 2023. 8. 4.
[백준] 4153번 : 직각삼각형 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 4153번: 직각삼각형 입력은 여러개의 테스트케이스로 주어지며 마지막줄에는 0 0 0이 입력된다. 각 테스트케이스는 모두 30,000보다 작은 양의 정수로 주어지며, 각 입력은 변의 길이를 의미한다. www.acmicpc.net 1. 문제 설명 2. 풀이과정 sys.stdin.readline() 함수를 사용하기 위해 sys 모듈을 불러온다. import sys 0 0 0을 입력받을 때 멈추기 위해 무한 반목문을 사용한다. while (True) 삼각형의 세 변의 길이를 입력받아 리스트로 저장한다. li = list(map(int, sys.stdin.readline().split())) 만약 0의 개수가 3개이면 0 0 0을 입력받은 경우이므로 종료한다. if (li.count(0) == 3): break.. 2023. 8. 3.
[백준] 1874번 : 스택 수열 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 1874번: 스택 수열 1부터 n까지에 수에 대해 차례로 [push, push, push, push, pop, pop, push, push, pop, push, push, pop, pop, pop, pop, pop] 연산을 수행하면 수열 [4, 3, 6, 8, 7, 5, 2, 1]을 얻을 수 있다. www.acmicpc.net 1. 문제 설명 2. 풀이과정 sys.stdin.readline() 함수를 사용하기 위해 sys 모듈을 불러온다. import sys 수열의 범위를 입력받는다. T = int(sys.stdin.readline()) 현재 수열의 마지막 값을 저장할 변수를 생성하고 수열의 시작값인 1로 초기화한다. count = 1 수열을 만들 수 있는지 없는지 확인할 변수를 생성하고 True로 초기.. 2023. 8. 2.
[백준] 11651번 : 좌표 정렬하기 2 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 11651번: 좌표 정렬하기 2 첫째 줄에 점의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에는 i번점의 위치 xi와 yi가 주어진다. (-100,000 ≤ xi, yi ≤ 100,000) 좌표는 항상 정수이고, 위치가 같은 두 점은 없다. www.acmicpc.net 1. 문제 설명 2. 풀이과정 sys.stdin.readline() 함수를 사용하기 위해 sys 모듈을 불러온다. import sys 점의 개수를 입력받는다. N = int(sys.stdin.readline()) 각 점의 x좌표와 y좌표를 저장할 리스트를 생성한다. li = list() 점의 개수만큼 반복하며 for _ in range(N) 각 점의 x좌표와 y좌표를 입력받아 리스트로 저장한다. li.app.. 2023. 8. 1.
728x90
반응형