목록사칙연산 (5)
홍우진의 개발 일기장
문제 링크 https://www.acmicpc.net/problem/9506풀이 코드while 1: n = int(input()) if n == -1: break; arr = [] for i in range(1, n): if n % i == 0: arr.append(i) if sum(arr) == n: print(n, " = ", " + ".join(str(i) for i in arr), sep="") else: print(n, "is NOT perfect.")코드 해석브루트포스를 이용하여 약수를 모두 구한 뒤약수의 합이 n과 같다면 출력아니라면 is N..
문제 링크https://www.acmicpc.net/problem/2525 풀이 코드h, m = map(int, input().split())c = int(input()) h += c // 60m += c % 60if m >= 60: h += 1 m -= 60if h >= 24: h -= 24print(h,m)코드 해석나눈 시간을 60으로 나누고 몫을 시, 나머지를 분에 더한다.분이 60분을 넘으면 시에 +1, 분에 -60 시가 24시간을 넘으면 시에 -24
문제 링크https://www.acmicpc.net/problem/2587풀이 코드a = [int(input()) for x in range(5)]a.sort()print(sum(a)//5)print(a[2])코드 해석매우 쉬운 난이도의 문제다.// 연산자를 활용하여 몫을 반환한다.\입력값이 5개로 지정되어있기 때문에 2번째 인덱스를 출력하면 중앙값이 나온다.
문제 링크 https://www.acmicpc.net/problem/2163 2163번: 초콜릿 자르기 정화는 N×M 크기의 초콜릿을 하나 가지고 있다. 초콜릿은 금이 가 있는 모양을 하고 있으며, 그 금에 의해 N×M개의 조각으로 나눠질 수 있다. 초콜릿의 크기가 너무 크다고 생각한 그녀는 초콜릿 www.acmicpc.net 풀이 코드 n,m=map(int, input().split()) print(n*m-1) 코드 해석 간단한 수학 공식을 이용하면 해결 할 수 있다. n-1 + (m-1)*n
문제 링크 https://www.acmicpc.net/problem/10158 풀이 코드 w, h = map(int, input().split()) p, q = map(int, input().split()) t = int(input()) a = (p + t) // w b = (q + t) // h if a % 2 == 0: x = (p + t) % w else: x = w - (p + t) % w if b % 2 == 0: y = (q + t) % h else: y = h - (q + t) % h print(x, y) 코드 해석 가로와 세로를 따로 생각한다. 초기값에서 시간을 더한값을 격자의 길이로 나눈 나머지를 구하면 된다. 만약 나며지가 0이 아니면 그 값에서 격자의 길이를 뺀다.