목록구현 (35)
홍우진의 개발 일기장
문제 링크 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번째로 큰 수) 를 출력한다.
문제 링크https://www.acmicpc.net/problem/11005풀이 코드n, b = map(int, input().split())x = ''arr = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ" #0~35까지의 숫자while n != 0: #n이 0이 되기 전까지 x += str(arr[n % b]) #n/b의 나머지를 arr에 있는 숫자에서 뽑아서 x에 삽입 n //= bprint(x[::-1]) #x를 거꾸로 출력코드 해석b 진법 변환은 n이 0이 되기 전까지 b로 나눈 뒤 나머지의 arr 값을 x에 저장하고몫을 또 나눈다.
문제 링크https://www.acmicpc.net/problem/1924 풀이 코드su = [1,4,4,0,2,5,0,3,6,1,4,6]week = ['SAT','SUN','MON','TUE','WED','THU','FRI']x,y = map(int,input().split())print(week[(14 + y + su[x-1]) % 7])코드 해석또 홍대병에 걸려 사람들과 다른 방식으로 해결하였다.바로 '크리스티안 헤세의 요일 공식'이다.https://blog.naver.com/yhc33758/222922768282 특정 날짜가 무슨 요일인지 계산하는 방법어느 특정 날짜의 요일을 맞출 수 있는 재미있는 이야기가 있다. 그 이야기의 주인공은 독일의 수학자 겸 ...blog.naver.com위의 블로그 ..
문제 링크https://www.acmicpc.net/problem/2745 풀이 코드n,b=input().split()print(int(n,int(b)))코드 해석int 함수를 사용하면 매우 쉬운 난이도의 문제다.엥? int 함수는 숫자형으로 반환해주는거 아닌가??아니다. 기능이 하나 더 있다.int(변환할 수, 진법) 짜잔~ 이렇게 사용하면 해당 진법으로 변환한 수가 반환된다.
문제 링크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번째 인덱스를 출력하면 중앙값이 나온다.