본문 바로가기

Algorithm705

[구현/수학] 백준 14909 양수 개수 세기 - 파이썬(Python) [ Contents ] 1. 문제 (링크 참조) 14909번: 양수 개수 세기 첫째 줄에 최대 1,000,000개의 정수가 주어진다. 입력으로 주어지는 정수는 -1,000,000보다 크거나 같고, 1,000,000보다 작거나 같다. www.acmicpc.net 2. 문제 풀이 주어진 N개의 정수 중에서 양의 정수를 세는 문제입니다. 3. 코드 # 입력 numlist = list(map(int, input().split())) res = 0 for i in numlist: if i > 0: res += 1 print(res) 단순히 부호만 판별해서, 0보다 큰 정수의 개수를 셉니다. 2022. 11. 25.
[구현/수학] 백준 25206 너의 평점은 - 파이썬(Python) [ Contents ] 1. 문제 (링크 참조) 25206번: 너의 평점은 인하대학교 컴퓨터공학과를 졸업하기 위해서는, 전공평점이 3.3 이상이거나 졸업고사를 통과해야 한다. 그런데 아뿔싸, 치훈이는 깜빡하고 졸업고사를 응시하지 않았다는 사실을 깨달았다! 치 www.acmicpc.net 2. 문제 풀이 한줄씩 과목명과 학점, 평점이 주어집니다. 이를 추합해서 전체 평점 평균을 구해야 합니다. (단, Pass 과목은 제외) 3. 코드 import sys input = sys.stdin.readline score = 0 num = 0 for _ in range(20): _, credit, grade = input().rstrip().split() if grade == 'A+': score += float(c.. 2022. 11. 24.
[수학/브루트포스] 백준 10419 지각 - 파이썬(Python) [ Contents ] 1. 문제 (링크 참조) 10419번: 지각 창영이가 궁금한 경우의 수 T(1 ≤ T ≤ 100)가 첫 번째 줄에 주어지고, 이어서 T 개의 줄에 수업시간 d(1 ≤ d ≤ 10,000, d는 정수)가 차례대로 주어진다. www.acmicpc.net 2. 문제 풀이 s = t^2 교수님이 지각한 시간(t)의 제곱만큼 수업을 일찍 끝내주십니다. 수업 시간(d)이 주어졌을 때, 교수님이 최대로 늦을 수 있는 시간은 몇 분인지 구해야 합니다. d >= t + t^2 지각한 시간도 수업시간에 포함되므로, 위 식을 만족해야 합니다. t를 구하기 위해 2차 부등식을 풀 수도 있으나, 그보다는 브루트포스 방법으로 접근하는 것이 좋습니다. 3. 코드 # 입력 T = int(input()) for.. 2022. 11. 23.
[구현/문자열] 백준 25205 경로당펑크 2077 - 파이썬(Python) [ Contents ] 1. 문제 (링크 참조) 25205번: 경로당펑크 2077 시은이는 종합설계 프로젝트로 오픈월드 액션 고스톱 게임 경로당펑크 2077을 개발하고 있다. 대사를 추가하던 중, 사용자 이름에 따라 '을' 또는 '를' 중 하나를 출력해야 함을 깨달았다. 예를 들 www.acmicpc.net 2. 문제 풀이 주어진 글자 뒤에 '을'이 붙는지 '를'이 붙는지를 판별하는 문제입니다. 즉, 받침 유무를 판별하는 문제입니다. 3. 코드 # 입력 n = input() s = input() last_character = s[-1] # 판별 if last_character in ['q', 'w', 'e', 'r', 't', 'a', 's', 'd', 'f', 'g', 'z', 'x', 'c', 'v'.. 2022. 11. 22.
[수학/유클리드 호제법] 백준 5618 공약수 - 파이썬(Python) [ Contents ] 1. 문제 (링크 참조) 5618번: 공약수 첫째 줄에 n이 주어진다. n은 2 또는 3이다. 둘째 줄에는 공약수를 구해야 하는 자연수 n개가 주어진다. 모든 자연수는 108 이하이다. www.acmicpc.net 2. 문제 풀이 자연수 n개가 주어질 때, 모든 공약수를 구하는 문제입니다. 2022.02.05 - [Algorithm] - [Algorithm] 최대공약수(GCD) 구하기: 유클리드 호제법 [Algorithm] 최대공약수(GCD) 구하기: 유클리드 호제법 유클리드 호제법을 이용하면 두 수의 최대공약수를 구할 수 있습니다. 최대공약수는 두 수의 공통인 최대 약수를 말합니다. [ Contents ] 1. 유클리드 호제법 (Euclidean Algorithm) 두 자연수 X.. 2022. 11. 21.
[수학/브루트포스] 백준 2018 연세대학교 프로그래밍 경진대회 - 파이썬(Python) [ Contents ] 1. 문제 (링크 참조) 15667번: 2018 연세대학교 프로그래밍 경진대회 2015, 2016, 2017년에 이어 올해도 연세대학교 컴퓨터과학과 프로그래밍 경진대회가 열린다. 도현이는 4년 연속 교내대회가 개최된다는 것에 감격하여, 사비를 털 각오로 화려한 개막식을 준비했다. www.acmicpc.net 2. 문제 풀이 터지는 불꽃의 개수: 1 + K + K^2 위와 같은 규칙으로 터지는 불꽃이 있습니다. 총 터진 불꽃의 개수(N)를 통해 K를 추정해야 합니다. 2022.01.16 - [Algorithm] - [Algorithm] 브루트 포스(Brute Force)는 노가다 기법? [Algorithm] 브루트 포스(Brute Force)는 노가다 기법? [ Contents ] .. 2022. 11. 20.
[구현/수학] 백준 2991 사나운 개 - 파이썬(Python) [ Contents ] 1. 문제 (링크 참조) 2991번: 사나운 개 창영 마을의 우체부, 우유배달원, 신문배달원은 상근이네 집에 가는 것을 매우 싫어한다. 그 이유는 상근이네 집에는 사나운 개 두 마리가 지키고 있기 때문이다. 하지만, 그들은 이 개의 행동 www.acmicpc.net 2. 문제 풀이 주기적으로 공격하고 휴식하는 2마리의 '사나운 개'가 있습니다. 우체부와 우유배달원, 신문배달원의 도착시간이 주어질 때, 사나운 개에게 물리는 횟수를 구해야 합니다. 3. 코드 import sys input = sys.stdin.readline # 입력 A, B, C, D = map(int, input().split()) # A C분 공격, B D분 휴식 P, M, N = map(int, input()... 2022. 11. 19.
[구현/수학] 백준 2547 사탕 선생 고창영 - 파이썬(Python) [ Contents ] 1. 문제 (링크 참조) 2547번: 사탕 선생 고창영 첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스는 빈 줄로 구분되어 있고, 다음과 같이 구성되어 있다. 테스트 케이스의 첫째 줄에 학생의 수 N이 주어진다. 다음 N개의 줄에는 www.acmicpc.net 2. 문제 풀이 학생들이 갖고 있는 사탕의 개수를 취합해서 N분의 1로 나누어야 합니다. 사탕의 개수가 딱 떨어지면 "YES", 나머지가 남는다면 "NO"를 출력합니다. 3. 코드 import sys input = sys.stdin.readline # 입력 T = int(input()) for _ in range(T): _ = input() # 공백 N = int(input()) candy = 0 for _.. 2022. 11. 18.
[구현/문자열] 백준 5354 J박스 - 파이썬(Python) [ Contents ] 1. 문제 (링크 참조) 5354번: J박스 첫째 줄에 테스트 케이스의 개수가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있고, 박스의 크기가 주어진다. 박스의 크기는 10보다 작거나 같다. www.acmicpc.net 2. 문제 풀이 가로 길이가 n인 J박스를 출력하는 문제입니다. 3. 코드 import sys input = sys.stdin.readline # 입력 t = int(input()) for _ in range(t): n = int(input()) if n == 1: print('#') else: print('#'*n) for _ in range(n-2): print('#'+'J'*(n-2)+'#') print('#'*n) print() 별짓기와 마찬가지로, 위.. 2022. 11. 17.