K = int(input()) list = [] for _ in range(K): n = int(input()) if n == 0: if len(list)>0: list.pop() else: list.append(n) print(sum(list)) import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Stack; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(S..
import sys N = int(input()) stack = [] for _ in range(N): line = sys.stdin.readline().split() if line[0] == "push": stack.append(int(line[1])) elif line[0] == "pop": if len(stack)>0: print(stack[-1]) stack.pop() else: print(-1) elif line[0] == "size": print(len(stack)) elif line[0] == "empty": if len(stack) == 0: print(1) else: print(0) elif line[0] == "top": if len(stack) > 0: print(stack[-1]) ..
import sys line = sys.stdin.readline() line = list(line.replace('-', ' ').split()) for num in line: if '+' in num: temp = list(map(int, num.split('+'))) s = sum(temp) line[line.index(num)] = s else: line[line.index(num)] = int(num) #단순 형변환 print(line[0]-sum(line[1:])) ▼ 링크 https://www.acmicpc.net/problem/1541
N = int(input()) def fibo(N): if N==0: return 0 elif N==1: return 1 return fibo(N-2) + fibo(N-1) print(fibo(N)) ▼ 링크 https://www.acmicpc.net/problem/10870 10870번: 피보나치 수 5 피보나치 수는 0과 1로 시작한다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1이다. 그 다음 2번째 부터는 바로 앞 두 피보나치 수의 합이 된다. 이를 식으로 써보면 Fn = Fn-1 + Fn-2 (n>=2)가 된다. n=17일때 까지 피보나치 수를 써보면 다음과 같다. 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1..
재귀로 푸는 방법 N = int(input()) def factorial(N): if N 0: factorial *= N N-=1 print(factorial) import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int n = Integer.parseInt(br.readLine()); System.out.println(f..
import sys N = int(input()) P = list(map(int, sys.stdin.readline().split())) P.sort() sum = 0 for time in P: sum += time * N N -= 1 print(sum) ▼ 링크 https://www.acmicpc.net/problem/11399
n = int(input()) result = 0 for i in range(1, n + 1): if i
s = set(range(1, 10001)) for i in range(1, 10001): sum = i for ch in str(i): sum += int(ch) if sum in s: s.remove(sum) for i in s: print(i) public class Main { public static int calculate( int n) { int result = n; while (n > 0) { result += (n % 10); n /= 10; } return result; } public static void main(String[] args) { int num_arr[] = new int[10001]; for(int i=1; i
C = int(input()) for i in range(C): line = input().split() avg, cnt, N = 0.0, 0, int(line[0]) for j in range(1, N+1): avg += int(line[j]) avg /= N for j in range(1, N + 1): if int(line[j]) > avg: cnt += 1 print('%.3f' % (cnt/N*100) +'%') ▼ 링크 https://www.acmicpc.net/problem/4344 4344번: 평균은 넘겠지 문제 대학생 새내기들의 90%는 자신이 반에서 평균은 넘는다고 생각한다. 당신은 그들에게 슬픈 진실을 알려줘야 한다. 입력 첫째 줄에는 테스트 케이스의 개수 C가 주어진다. 둘째 줄부터..
import sys n = int(input()) for i in range(n): line = sys.stdin.readline() cnt = 0 sum = 0 for ch in line: if ch is 'O': cnt += 1 sum += cnt else: #'X' cnt = 0 print(sum) ▼ 링크 https://www.acmicpc.net/problem/8958