본문 바로가기

Algorithm705

[구현/수학] 백준 11648 지속 - 파이썬(Python) [ Contents ] 1. 문제 (링크 참조) 11648번: 지속 키파는 곱하기를 좋아한다. 그래서 키파는 수를 보면 각 자리 숫자를 모두 곱해서 하나의 수를 만든다. 키파는 기쁘다. 키파는 이 작업을 계속해서 반복한다. 그런데 수가 한 자리가 되었다. 키 www.acmicpc.net 2. 문제 풀이 한 자리 수가 될 때까지, 각 자릿수를 모두 곱하는 과정을 반복합니다. 3. 코드 # 입력 n = input() cnt = 0 while len(n) > 1: res = 1 for i in n: res *= int(i) n = str(res) cnt += 1 print(cnt) 파이썬은 각 자릿수를 계산함에 있어 이점이 있습니다. Str으로 숫자를 받으면, 각 자릿수를 계산하기 쉽습니다. 각 자릿수를 곱하.. 2022. 12. 4.
[구현/수학] 백준 4493 가위 바위 보? - 자바(Java) [ Contents ] 1. 문제 (링크 참조) 4493번: 가위 바위 보? 첫째 줄에는 테스트 케이스의 개수 t(0 < t < 1000)가 주어진다. 각 테스트 케이스의 첫째 줄에는 가위 바위 보를 한 횟수 n(0 < n < 100)이 주어진다. 다음 n개의 줄에는 R, P, S가 공백으로 구분되어 주어 www.acmicpc.net 2. 문제 풀이 두 플레이어의 가위 바위 보 입력이 주어집니다. 가위바위보 결과를 출력해야 합니다. 3. 코드 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int t = sc.nextInt(); fo.. 2022. 12. 3.
[구현/수학] 백준 14920 3n+1 수열 - 파이썬(Python) [ Contents ] 1. 문제 (링크 참조) 14920번: 3n+1 수열 다음의 점화식에 의해 정해지는 수열 C(n)을 생각하자: C(n+1) = C(n)/2 (C(n)이 짝수일 때) = 3*C(n)+1 (C(n)이 홀수일 때) 초항 C(1)이 자연수로 주어지면, 이 점화식은 자연수로 이루어지는 수열을 정한다. www.acmicpc.net 2. 문제 풀이 C(n+1) = C(n)/2 (C(n)이 짝수일 때) = 3*C(n)+1 (C(n)이 홀수일 때) 다음과 같은 규칙을 가진 수열이 있습니다. 입력으로 C(1)이 주어지며, C(n) = 1이 되는 n을 찾아야 합니다. 3. 코드 # 입력 c = int(input()) # C(n)이 1이 되면 break for n in range(1, 100001): .. 2022. 12. 2.
[구현/수학] 백준 10599 페르시아의 왕들 - 파이썬(Python) [ Contents ] 1. 문제 (링크 참조) 10599번: 페르시아의 왕들 테스트 케이스는 여러줄에 걸쳐 입력된다. 각 테스트 케이스는 4개의 정수 a, b, c, d (-5000 ≤ a ≤ b ≤ c ≤ d ≤ 2000)로 이뤄진다. [a, b]는 출생일의 범위, [c, d]는 사망일의 범위이다. a, b, c, d의 입력 www.acmicpc.net 2. 문제 풀이 왕은 a 또는 b년도에 태어나서, c 또는 d 년도에 사망합니다. 이 때, 가능한 최소 수명과 최대 수명을 구합니다. a < b 이고 c < d일 때, 최소 수명: c - b 최대 수명: d - a 간단한 수학 문제입니다. 3. 코드 # 입력 while True: a, b, c, d = map(int, input().split()) i.. 2022. 12. 1.
[구현/수학] 백준 10409 서버 - 파이썬(Python) [ Contents ] 1. 문제 (링크 참조) 10409번: 서버 당신은 FCFS(First-Come, First-Served)의 규칙에 따라 요청된 일을 처리하는 서버를 담당하게 되었다. 매일, 당신은 일을 처리하기 위해 최대 T분 동안 서버에 시간을 할당할 수 있다. 당신은 오늘 주어 www.acmicpc.net 2. 문제 풀이 순서대로 처리할 수 있는 일의 개수를 구하는 문제입니다. 3. 코드 import sys input = sys.stdin.readline # 입력 n, T = map(int, input().split()) task = list(map(int, input().split())) # 처리하는 일의 개수 cnt = 0 for i in task: if i 2022. 11. 30.
[구현/수학] 백준 10474 분수좋아해? - 파이썬(Python) [ Contents ] 1. 문제 (링크 참조) 10474번: 분수좋아해? 당신은 학생들의 기초수학 학습을 돕는 소프트웨어를 개발하는 팀의 개발자이다. 당신은 가분수를 대분수(?)로 출력하는 부분을 개발해야 한다. 진분수는 분자가 분모보다 작은 분수이다; 대분 www.acmicpc.net 2. 문제 풀이 가분수를 대분수로 바꾸는 문제입니다. 3. 코드 import sys input = sys.stdin.readline while True: a, b = map(int, input().split()) if a == b == 0: break print(a//b, a%b, '/', b) 2022. 11. 29.
[구현/수학] 백준 11134 쿠키애호가 - 파이썬(Python) [ Contents ] 1. 문제 (링크 참조) 11134번: 쿠키애호가 철수는 쿠키를 세상에서 제일 좋아한다. 쿠키가 있는 곳이라면 철수도 반드시 있다고 할 정도이다. 철수는 날마다 자신이 가지고 있는 쿠키 중 C개를 먹는다. C개 미만의 쿠키가 남아 있다면 전 www.acmicpc.net 2. 문제 풀이 날마다 C개의 쿠키를 먹는다면, 전체 N개의 쿠키를 몇 일동안 먹는지를 구하는 문제입니다. 3. 코드 # 입력 T = int(input()) for _ in range(T): N, C = map(int, input().split()) if N % C == 0: print(N//C) else: print(N//C+1) 단순 수학문제입니다. N개를 C개로 나눈 몫을 구하고, 나머지가 있다면 하루를 더합니다. 2022. 11. 28.
[구현/수학] 백준 5523 경기 결과 - 파이썬(Python) [ Contents ] 1. 문제 (링크 참조) 5523번: 경기 결과 A와 B가 게임을 한다. 게임은 N번의 라운드로 이루어져 있다. 각 라운드에서는, 더 많은 점수를 얻은 사람이 그 라운드의 승자가 된다. 즉, A의 점수가 B의 점수보다 크면 i번째 라운드는 A의 승리 www.acmicpc.net 2. 문제 풀이 라운드별 스코어가 주어집니다. 총 경기 결과를 출력해야 합니다. 3. 코드 import sys input = sys.stdin.readline # 입력 n = int(input()) score_A, score_B = 0, 0 for _ in range(n): a, b = map(int, input().split()) if a > b: score_A += 1 elif a < b: score_B.. 2022. 11. 27.
[구현/수학] 백준 5073 삼각형과 세 변 - 파이썬(Python) [ Contents ] 1. 문제 (링크 참조) 5073번: 삼각형과 세 변 각 입력에 맞는 결과 (Equilateral, Isosceles, Scalene, Invalid) 를 출력하시오. www.acmicpc.net 2. 문제 풀이 주어진 삼각형의 세 변의 길이를 토대로, 삼각형을 판별하는 문제입니다. Equilateral : 세 변의 길이가 모두 같은 경우 Isosceles : 두 변의 길이만 같은 경우 Scalene : 세 변의 길이가 모두 다른 경우 Invalid: 가장 긴 변의 길이가 나머지 두 변의 길이의 합보다 크거나 같은 경우 전형적인 if-else문으로, 순서만 잘 고려해서 작성하시면 됩니다. 3. 코드 import sys input = sys.stdin.readline while Tr.. 2022. 11. 26.