백준(Python) 풀이/수학 213

백준(Python) 5554번 심부름 가는 길 풀이

Python으로 구현한 5554번 심부름 가는 길 문제 풀이입니다. https://www.acmicpc.net/problem/5554 5554번: 심부름 가는 길 승균이는 매일 학교, PC방, 학원에 다닌다. 반복되는 일상에 익숙해진 승균이는 이동시간을 단축해서 PC방에 더 오래 머물고 싶었다. 그래서 스톱워치를 들고 이동할 때마다 기록을 잰 후 집 www.acmicpc.net sum = 0 for _ in range(4) : sum += int(input()) print(sum // 60) print(sum % 60) 하나의 값이 입력될 때마다 sum에 입력 값을 누적함으로써 승균이의 총 이동 시간(초 단위)을 구한다. sum 값은 초 단위이기 때문에 분 단위로 출력하기 위해 sum // 60 과 같이..

백준(Python) 3003번 킹, 퀸, 룩, 비숍, 나이트, 폰 풀이

Python으로 구현한 3003번 킹, 퀸, 룩, 비숍, 나이트, 폰 문제 풀이입니다. https://www.acmicpc.net/problem/3003 3003번: 킹, 퀸, 룩, 비숍, 나이트, 폰 첫째 줄에 동혁이가 찾은 흰색 킹, 퀸, 룩, 비숍, 나이트, 폰의 개수가 주어진다. 이 값은 0보다 크거나 같고 10보다 작거나 같은 정수이다. www.acmicpc.net c = [1, 1, 2, 2, 2, 8] data = list(map(int, input().split())) for i in range(6) : print(c[i] - data[i], end=' ') c 리스트에 킹 1개, 퀸 1개, 룩 2개, 비숍 2개, 나이트 2개, 폰 8개를 저장해놓고 data리스트에 흰색 킹, 퀸, 룩, 비..

백준(Python) 1373번 2진수 8진수 풀이

Python으로 구현한 1373번 2진수 8진수 문제 풀이입니다. https://www.acmicpc.net/problem/1373 1373번: 2진수 8진수 첫째 줄에 2진수가 주어진다. 주어지는 수의 길이는 1,000,000을 넘지 않는다. www.acmicpc.net n = int(input(), 2) print(oct(n)[2:]) 2진수 입력받고 oct( )를 통해 8진수로 변환하여 출력한다. 또한, 8진수는 앞에 0o가 들어가므로 두번째 자리부터 출력하도록 한다. 반대로 8진수를 입력받아 2진수로 변환하는 문제 및 풀이는 아래 글에서 확인할 수 있다. https://unie2.tistory.com/416?category=888633 백준(Python) 1212번 8진수 2진수 풀이 Python..

백준(Python) 9655번 돌 게임 풀이

Python으로 구현한 9655번 돌 게임 문제 풀이입니다. https://www.acmicpc.net/problem/9655 9655번: 돌 게임 상근이가 게임을 이기면 SK를, 창영이가 게임을 이기면 CY을 출력한다. www.acmicpc.net n = int(input()) count = 0 while n > 0 : count += 1 if n >= 3 : n -= 3 else : n -= 1 if count % 2 == 0 : print("CY") else : print("SK") 기본적으로 돌 게임을 하는 사람 수는 두 명이고, 상근이가 먼저 시작하기 때문에 홀수번째 차례는 상근이가 되고, 짝수번째 차례는 창영이가 된다. 그렇기 때문에 반복문 내에서 한 차례가 진행될 때마다 count를 1증가시..

백준(Python) 2501번 약수 구하기 풀이

Python으로 구현한 2501번 약수 구하기 문제 풀이입니다. https://www.acmicpc.net/problem/2501 2501번: 약수 구하기 첫째 줄에 N과 K가 빈칸을 사이에 두고 주어진다. N은 1 이상 10,000 이하이다. K는 1 이상 N 이하이다. www.acmicpc.net n, k = map(int, input().split()) data = [] for i in range(1, n + 1) : if n % i == 0 : data.append(i) if len(data) < k : print(0) else : print(data[k-1]) 반복문을 통해 1부터 시작하여 n의 약수들을 data 리스트에 할당한다. 그 후 조건문을 통해 n의 약수의 개수가 k개보다 적어서 k번째..

백준(Python) 2010번 플러그 풀이

Python으로 구현한 2010번 플러그 문제 풀이입니다. https://www.acmicpc.net/problem/2010 2010번: 플러그 첫째 줄에 멀티탭의 개수 N이 주어진다. (1 ≤ N ≤ 500,000) 이어서 둘째 줄부터 N개의 줄에 걸쳐 각 멀티탭이 몇 개의 플러그를 꽂을 수 있도록 되어 있는지를 나타내는 자연수가 주어진다. 이 자연 www.acmicpc.net import sys n = int(input()) result = 0 for _ in range(n) : x = int(sys.stdin.readline()) result += x print(result - (n - 1)) 입력받은 n개의 멀티탭이 각 몇 개의 플러그를 꽂을 수 있도록 되어 있는지를 나타내는 수를 입력받고 res..

백준(Python) 1057번 토너먼트 풀이

Python으로 구현한 1057번 토너먼트 문제 풀이입니다. https://www.acmicpc.net/problem/1057 1057번: 토너먼트 김지민은 N명이 참가하는 스타 토너먼트에 진출했다. 토너먼트는 다음과 같이 진행된다. 일단 N명의 참가자는 번호가 1번부터 N번까지 배정받는다. 그러고 난 후에 서로 인접한 번호끼리 스타를 www.acmicpc.net n, jimin, hansu = map(int, input().split()) result = 0 while jimin != hansu : jimin = jimin - (jimin // 2) hansu = hansu - (hansu // 2) result += 1 print(result) jimin과 hansu 가 서로 같아질 때까지 각 수에서..

백준(Python) 2530번 인공지능 시계 풀이

Python으로 구현한 2530번 인공지능 시계 문제 풀이입니다. https://www.acmicpc.net/problem/2530 2530번: 인공지능 시계 첫째 줄에 종료되는 시각의 시, 분, 초을 공백을 사이에 두고 출력한다. (단, 시는 0부터 23까지의 정수이며, 분, 초는 0부터 59까지의 정수이다. 디지털 시계는 23시 59분 59초에서 1초가 지나면 0시 0 www.acmicpc.net a, b, c = map(int, input().split()) d = int(input()) get_seconds = (c + d) % 60 get_minute = (c + d) // 60 result_minute = (b + get_minute) % 60 get_hour = (b + get_minute)..

백준(Python) 1292번 쉽게 푸는 문제 풀이

Python으로 구현한 1292번 쉽게 푸는 문제 문제 풀이입니다. https://www.acmicpc.net/problem/1292 1292번: 쉽게 푸는 문제 첫째 줄에 구간의 시작과 끝을 나타내는 정수 A, B(1 ≤ A ≤ B ≤ 1,000)가 주어진다. 즉, 수열에서 A번째 숫자부터 B번째 숫자까지 합을 구하면 된다. www.acmicpc.net a, b = map(int, input().split()) data = [] for i in range(b+1) : for j in range(i) : if b == len(data) : break data.append(i) print(sum(data[a-1:b])) 문제에서 제시하는 수열과 같이 값을 하나씩 리스트에 담는데, 만약 리스트에 담겨있는 값..

백준(Python) 2420번 사파리월드 풀이

Python으로 구현한 2420번 사파리월드 문제 풀이입니다. https://www.acmicpc.net/problem/2420 2420번: 사파리월드 첫째 줄에 두 도메인의 유명도 N과 M이 주어진다. (-2,000,000,000 ≤ N, M ≤ 2,000,000,000) www.acmicpc.net n, m = map(int, input().split()) print(abs(n-m)) 두 도메인 n과 m을 입력받은 후 n-m 값을 절대값 함수 abs( )를 통해 절대값을 구해 출력한다.