문제 링크 4949번: 균형잡힌 세상 각 문자열은 마지막 글자를 제외하고 영문 알파벳, 공백, 소괄호("( )"), 대괄호("[ ]")로 이루어져 있으며, 온점(".")으로 끝나고, 길이는 100글자보다 작거나 같다. 입력의 종료조건으로 맨 마지막에 www.acmicpc.net 문제 풀이 while 1: stack = [] str = input() if str == ".": break for letter in str: if letter == "[" or letter == "(": stack.append(letter) if letter == "]": if len(stack) != 0 and stack[-1] == "[": stack.pop() else: stack.append(letter) if lette..
문제 링크 채점 현황 www.acmicpc.net 문제 풀이 import sys input = sys.stdin.readline t = int(input()) for _ in range(t): temp = 0 for bracket in input().strip(): if bracket == '(': temp += 1 else: temp -= 1 if temp 0: print('NO') *key point: 단계에 맞게 자료구조를 활용하지는 않았다. temp라는 변수를 만들어 '(' 면 1을 더하고 아닐때 1을 뺐다. 음수가 되어버리거나 반복문을 다 돌았을 때 0이 아니라면 NO, 0이라면 YES가 ..
문제 링크 10773번: 제로 첫 번째 줄에 정수 K가 주어진다. (1 ≤ K ≤ 100,000) 이후 K개의 줄에 정수가 1개씩 주어진다. 정수는 0에서 1,000,000 사이의 값을 가지며, 정수가 "0" 일 경우에는 가장 최근에 쓴 수를 지우고, 아닐 경 www.acmicpc.net 문제 풀이 import sys input = sys.stdin.readline stack = [] k = int(input()) for _ in range(k): num = int(input()) match num == 0: case True: stack.pop() case False: stack.append(num) print(sum(stack)) *key point: match case문으로 입력값이 0 인지 아닌지..
문제 링크 28278번: 스택 2 첫째 줄에 명령의 수 N이 주어진다. (1 ≤ N ≤ 1,000,000) 둘째 줄부터 N개 줄에 명령이 하나씩 주어진다. 출력을 요구하는 명령은 하나 이상 주어진다. www.acmicpc.net 문제 풀이 import sys input = sys.stdin.readline stack = [] n = int(input()) for _ in range(n): order = input() match int(order[0]): case 1: stack.append(order.split()[1]) case 2: if len(stack) == 0: print(-1) else: print(stack.pop(-1)) case 3: print(len(stack)) case 4: if l..
문제 링크 [백준] 10101번 삼각형 외우기 파이썬 a = [int(input()) for i in range(3)] if a.count(60) == 3: print("Equilateral") elif sum(a) == 180 and len(set(a)) == 2: print("Isosceles") elif sum(a) == 180 and len(set(a)) == 3: print("Scalene") else: print("Error") 입력을 리스트 형태로 저장 songsw.tistory.com 문제 풀이 a = int(input()) b = int(input()) c = int(input()) if a + b + c == 180: if a == b == c == 60: print("Equilater..
문제 링크 15894번: 수학은 체육과목 입니다 성원이는 수학을 정말 못 하는 고등학생이다. 수학을 못하는 대신 근성과 팔 힘이 뛰어난 성원이는 수학 시험에서 수학 지식을 사용하지 않고 근성과 체력을 사용해 문제를 푼다. 지난 시험에서 www.acmicpc.net 문제 풀이 print(int(input()) * 4) *key point: 아래 그림처럼 생각해보면, 가장 아래 사각형들로 만들어진 긴 변을 한 변으로 하는 정사각형의 둘레와 같음을 알 수 있다.
문제 링크 27323번: 직사각형 정수 A, B 가 주어진다. 세로 길이가 A cm, 가로 길이가 B cm 인 아래와 같은 직사각형의 넓이를 cm2 단위로 구하시오. www.acmicpc.net 문제 풀이 a = int(input()) b = int(input()) print(a*b) *key point: 두 값을 입력받아 곱하면 되는 아주 쉬운 문제이다. 아래처럼 한 줄에 작성할 수도 있다. print(int(input()) * int(input()))
문제 링크 9506번: 약수들의 합 어떤 숫자 n이 자신을 제외한 모든 약수들의 합과 같으면, 그 수를 완전수라고 한다. 예를 들어 6은 6 = 1 + 2 + 3 으로 완전수이다. n이 완전수인지 아닌지 판단해주는 프로그램을 작성하라. www.acmicpc.net 문제 풀이 while 1: n = int(input()) if n == -1: break divisor = [] for i in range(1, n): if n % i == 0: divisor.append(i) if n == sum(divisor): print(n, "=", " + ".join(list(map(str, divisor)))) else: print(n, "is NOT perfect.") *key point: 1부터 n-1까지만 반복..
문제 링크 2501번: 약수 구하기 첫째 줄에 N과 K가 빈칸을 사이에 두고 주어진다. N은 1 이상 10,000 이하이다. K는 1 이상 N 이하이다. www.acmicpc.net 문제 풀이 n, k = map(int, input().split()) for i in range(1, n + 1): if n % i == 0: k -= 1 if k == 0: print(i) break else: print(0) *key point: n을 1부터 n까지의 수로 나누어 보다가 약수인 경우(나머지 = 0) k 값을 1 씩 뺀다. k가 0이 될 때 수 i 가 답이되며, for문을 전부 돌게되는 경우 0을 출력한다.
문제 링크 2903번: 중앙 이동 알고리즘 상근이는 친구들과 함께 SF영화를 찍으려고 한다. 이 영화는 외계 지형이 필요하다. 실제로 우주선을 타고 외계 행성에 가서 촬영을 할 수 없기 때문에, 컴퓨터 그래픽으로 CG처리를 하려고 한다. www.acmicpc.net 문제 풀이 n = int(input()) print(((2**n) + 1) ** 2) *key point: 그냥 수학 문제이다..! 각 사각형은 다음 단계로 가면서 가로 세로로 이등분이 되는데, 이로 인해 전체 그림에서 한 변에는 2^n+1의 점이 생긴다. 변이 2배씩 되니까 2^n, 모서리는 하나가 추가 되니가 +1이라고 생각하면 편하다. 따라서 전체 점의 개수는 제곱을 한 (2^n+1)^2이 된다.
- Total
- Today
- Yesterday
- 26069
- 2903
- 2053
- 벡준
- MySQL
- 코육대
- 25192
- 항해 플러스
- 백준
- 2587
- 24313
- 2738
- 17103
- SQL
- til
- Python
- 24060
- 13909
- programmer
- 1269
- Programmers
- 10807
- 13241
- 5597
- 24723
- 항해+
- 25501
- 20920
- 4134
- Wil
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |