본문 바로가기

공부하는 것들/알고리즘

(52)
백준 2420 : 사파리월드 www.acmicpc.net/problem/2420 2420번: 사파리월드 첫째 줄에 두 도메인의 유명도 N과 M이 주어진다. (-2,000,000,000 ≤ N, M ≤ 2,000,000,000) www.acmicpc.net if __name__=='__main__': N,M = list(map(int,input().split())) print(abs(N-M)) 파이썬으로 절댓값 구하기..
백준 10430 : 나머지 www.acmicpc.net/problem/10430 10430번: 나머지 첫째 줄에 A, B, C가 순서대로 주어진다. (2 ≤ A, B, C ≤ 10000) www.acmicpc.net 문제가 간단하고 친절해서...곱하기가 x가 아닌 *임을 알면 풀 수 있다. #(A+B)%C, 둘째 줄에 ((A%C) + (B%C))%C, 셋째 줄에 (A×B)%C, 넷째 줄에 ((A%C) × (B%C))%C를 출력한다. if __name__ == '__main__': A,B,C = list(map(int,input().split())) answers = [(A+B)%C, ((A%C)+(B%C))%C, (A*B)%C, ((A%C)*(B%C))%C] for ans in answers: print(ans)
백준 8393: 합 www.acmicpc.net/problem/8393 8393번: 합 n이 주어졌을 때, 1부터 n까지 합을 구하는 프로그램을 작성하시오. www.acmicpc.net 방법 1. if __name__=='__main__': n = int(input()) ans = 0 for i in range(1,n+1): ans+=i print(ans) 방법 2. if __name__=='__main__': n = int(input()) print(n*(n+1)//2) 수학을 이용하면 방법2지만, 알고리즘 풀 때는 의외로 방법1의 구조를 써야할 때가 많은 것 같다. 방법2에서는 //2가 아닌, /2를 하면 틀렸다고 나오는데, 아마 int형을 반환해야하는데 float형으로 반환돼서 그런것 같다.
백준 5554 : 심부름 가는 길 www.acmicpc.net/problem/5554 5554번: 심부름 가는 길 승균이는 매일 학교, PC방, 학원에 다닌다. 반복되는 일상에 익숙해진 승균이는 이동시간을 단축해서 PC방에 더 오래 머물고 싶었다. 그래서 스톱워치를 들고 이동할 때마다 기록을 잰 후 집 www.acmicpc.net 스토리가 길지만, 결론은 second로 나타낸 총합을 minute/second로 표현하는 것 if __name__ == '__main__': times = [] for i in range(4): times.append(int(input())) minute = sum(times)//60 second = sum(times)%60 print(minute) print(second)
백준 3046 : R2 www.acmicpc.net/problem/3046 3046번: R2 두 숫자 R1과 R2가 있을 때, 두 수의 평균 S는 (R1+R2)/2와 같다. 상근이는 정인이 생일 선물로 두 숫자 R1과 R2를 주려고 한다. 생일 파티에서 상근이는 정인이에게 이 두 숫자를 말해주고, 정인이는 www.acmicpc.net R1, R2, S 가 같이 나온다. S = (R1+R2)/2 R1과 S를 가지고 R2를 구하는, 다시 말하면 위 방정식을 R2에 관해 푸는 것이다. wannabe00.tistory.com/entry/백준-2914-저작권 이 문제랑 비슷하다. R2 = 2*S-R1 중등수준 수학문제 구현이다. if __name__ == '__main__': R1, S = list(map(int,input().spli..
백준 3003 : 킹, 퀸, 룩, 비숍, 나이트, 폰 www.acmicpc.net/problem/3003 3003번: 킹, 퀸, 룩, 비숍, 나이트, 폰 첫째 줄에 동혁이가 찾은 흰색 킹, 퀸, 룩, 비숍, 나이트, 폰의 개수가 주어진다. 이 값은 0보다 크거나 같고 10보다 작거나 같은 정수이다. www.acmicpc.net 필요한 말의 개수를 알려줬고, 찾은 개수를 알려줬으니, 각 원소를 빼주면 된다. 출력 방식은 wannabe00.tistory.com/entry/백준-2845-파티가-끝나고-난-뒤?category=938660 와 동일하다. # 킹 1개, 퀸 1개, 룩 2개, 비숍 2개, 나이트 2개, 폰 8개 if __name__ =='__main__': pieces = [1,1,2,2,2,8] found = list(map(int,input().sp..
백준 2914 : 저작권 www.acmicpc.net/problem/2914 2914번: 저작권 창영이는 노래 여러 개를 이어서 부르는 가수이다. 유명한 노래의 비슷한 멜로디를 이어서 부르면서 언제 곡이 넘어갔는지 모르게 만드는 것이 창영이 노래의 특징이다. 이런 노래로 상업적으 www.acmicpc.net avg = 앨범에 수록된 곡에 포함되어 있는 저작권이 있는 멜로디의 개수/앨범에 수록된 곡의 개수 (단, avg 는 소수 첫째자리에서 올림) input : N, avg = 수록된 곡, 평균 값 ex. 38, 24 output : ans = 적어도 몇개의 저작권이 있는 멜로디? ans > N * (avg-1) ==> ans = N*(avg-1)+1 단순한 수학문제...이런 건 코테에 안나오겠지.. 이미 올림된 값이 avg임에 ..
백준 2845 : 파티가 끝나고 난 뒤 www.acmicpc.net/problem/2845 2845번: 파티가 끝나고 난 뒤 파티가 끝나고 나면, 사람들은 누가 파티에 왔는지와 얼마나 많은 사람들이 왔는지를 궁금해한다. 보통 파티는 매우 크게 열리기 때문에, 정확하게 몇 명이 참가했는지 알 수가 없다. 지난주 토 www.acmicpc.net input : L, P = 1m^2 당 사람의 수, 파티가 열린 곳의 넓이 a, b, c, d, e = 5개의 신문 기사에 실려있는 참가자의 수 output : a1, b1, c1, d1, e1 = 기사의 참가자수 - 상근이 계산한 참가자 수 input의 list - output list 하면 된다. if __name__=='__main__': L,P = list(map(int,input().split()..