목록코딩 테스트 문제 풀이 (80)
꾸준히 합시다
www.acmicpc.net/problem/9506 9506번: 약수들의 합 어떤 숫자 n이 자신을 제외한 모든 약수들의 합과 같으면, 그 수를 완전수라고 한다. 예를 들어 6은 6 = 1 + 2 + 3 으로 완전수이다. n이 완전수인지 아닌지 판단해주는 프로그램을 작성하라. www.acmicpc.net 문제 유형: 수학, 정수론 # Solution 1 while True: n = int(input()) if n == -1: # 입력 값이 -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=..
www.acmicpc.net/problem/9012 9012번: 괄호 괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 ‘(’ 와 ‘)’ 만으로 구성되어 있는 문자열이다. 그 중에서 괄호의 모양이 바르게 구성된 문자열을 올바른 괄호 문자열(Valid PS, VPS)이라고 www.acmicpc.net 문제 유형: 자료 구조, 문자열, 스택 # Solution 1 for _ in range(int(input())): a = list(input()) s = 0 for i in a: if i == "(": s += 1 elif i == ")": s -= 1 if s 0: print("NO") elif s == 0: print("Y..
www.acmicpc.net/problem/2884 2884번: 알람 시계 상근이는 매일 아침 알람을 듣고 일어난다. 알람을 듣고 바로 일어나면 다행이겠지만, 항상 조금만 더 자려는 마음 때문에 매일 학교를 지각하고 있다. 상근이는 모든 방법을 동원해보았지만, www.acmicpc.net 문제 유형: 수학, 사칙연산 # Solution 1 h, m = map(int, input().split()) new = m - 45 if new < 0: new += 60 if h == 0: h = 23 else: h -= 1 print(h, new) 처음 생각난 대로 푼 것. h(시간)과 m(분)을 입력받고, 바로 m에 45를 뺀 값을 new라는 변수에 지정해준다. 만약 new가 음수라면 60을 더해주고 시간도 한 ..
www.acmicpc.net/problem/2588 2588번: 곱셈 첫째 줄부터 넷째 줄까지 차례대로 (3), (4), (5), (6)에 들어갈 값을 출력한다. www.acmicpc.net 문제 유형: 수학, 사칙연산 # Solution 1 a = int(input()) b = input() newb = [i for i in b] for i in range(len(newb) -1, -1, -1): print(a * int(newb[i])) print(a * int(b)) 세 자리 자연수끼리의 곱셈만을 염두해고 풀어도 괜찮은 문제였는데 제대로 읽지 않고 포괄적으로(?) 풀었다. Solution 2로 단순하게 작성해도 통과되었다. Solution 1이나 Solution 2 모두 접근법은 같다. a는 정수형..