목록Baekjoon (135)
홍우진의 개발 일기장
문제 링크https://www.acmicpc.net/problem/13458 풀이 코드n = int(input())a = list(map(int, input().split()))b, c = map(int, input().split())for i in a: #응시자의 수를 하나씩 불러온다. i -= b #총감독관이 감시 가능한 응시자의 수를 제외한다. if i > 0: #만약 응시자의 수가 총감독관의 감시 가능 인원 이상이면 if i % c > 0: #만약 응시자의 수 나누기 부감독관의 감시 인원을 했을 때 1 이상이라면 n += (i // c) + 1 #응시자수 나누기 부감독관 감시수 의 몫 + 1 else: ..
문제 링크https://www.acmicpc.net/problem/5597 풀이 코드students = [x for x in range(1,31)]for _ in range(28): a = int(input()) students.remove(a) print(min(students))print(max(students))코드 해석쉬운 난이도의 문제다.31까지의 리스트를 미리 만들고들어오는 숫자를 리스트에서 제거 하면남은 숫자들이 제출 하지 않은 숫자들이기 때문에출력하면 끝이다.
문제 링크https://www.acmicpc.net/problem/1654풀이 코드n, k = map(int, input().split()) l = [int(input()) for x in range(n)]mini = 1 # 최소 길이maxi = max(l) # 최대 길이while mini = k: # 필요한 랜선의 개수 이상을 만들 수 있으면 mini = mid + 1 # 중간값을 높인다. else: # 필요한 랜선의 개수를 만들 수 없으면 maxi = mid - 1 # 중간값을 낮춘다print(maxi)코드 해석이분 탐색을 활용하였다.이분 탐색에 대하여 자세히 알고 싶으면 아래 글 참고.https://code-angie.tistory.com/3 ..
문제 링크https://www.acmicpc.net/problem/1874 풀이 코드cnt = 1result = Truestack = []dap = []n = int(input())for i in range(n): num = int(input()) while cnt 코드 해석복잡한 난이도였다.핵심은 cnt다. cnt가 stack을 쌓아주고 만들때마다 +를 답에 집어넣고, cnt + 1 을 해준다.stack을 쌓다가 만약 stack에 들어간 수가 사용자가 넣은 수(num)랑 똑같다면 stack의 제일 끝 수를 빼고 답에 -를 집어넣는다.만약 동일하지 않다면 수열 생성이 불가능하다는 뜻이다. 따라서 NO를 출력하고 끝낸다.
문제 링크 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/11718풀이 코드while 1: try: print(input()) except EOFError: break코드 해석그냥 받자마자 출력하는 코드로 제출하면 오류가 난다.EOFError를 사용하여입력이 없을 시 종료되게 설계한다.
문제 링크https://www.acmicpc.net/problem/25305풀이 코드n, k = map(int, input().split())x = map(int,input().split())print(sorted(x)[-k])코드 해석easy 한 난이도의 문제다.n 과 k를 받고x에 점수들을 받은 다음sorted로 정렬 후 뒤에서 k번째 수(k번째로 큰 수) 를 출력한다.