https://www.acmicpc.net/problem/4949 4949번: 균형잡힌 세상 하나 또는 여러줄에 걸쳐서 문자열이 주어진다. 각 문자열은 영문 알파벳, 공백, 소괄호("( )") 대괄호("[ ]")등으로 이루어져 있으며, 길이는 100글자보다 작거나 같다. 입력의 종료조건으로 맨 마 www.acmicpc.net 내 코드 while True: line = input() stack = [] if line=='.': break; flag =0 for item in line: if item =='(': stack.append(item) elif item ==')': if stack: if stack[-1]=='(': stack.pop() else: stack.append(item) else: pr..
https://www.acmicpc.net/problem/9012 9012번: 괄호 괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 ‘(’ 와 ‘)’ 만으로 구성되어 있는 문자열이다. 그 중에서 괄호의 모양이 바르게 구성된 문자열을 올바른 괄호 문자열(Valid PS, VPS)이라고 www.acmicpc.net 내 코드 n = int(input()) for i in range(n): stack = [] line = input() for item in line: if stack: if item =='(': stack.append(item) elif item==')': if stack[-1]=='(': stack.pop() else: stack.append(item) else:..
https://www.acmicpc.net/problem/10773 10773번: 제로 첫 번째 줄에 정수 K가 주어진다. (1 ≤ K ≤ 100,000) 이후 K개의 줄에 정수가 1개씩 주어진다. 정수는 0에서 1,000,000 사이의 값을 가지며, 정수가 "0" 일 경우에는 가장 최근에 쓴 수를 지우고, 아닐 경 www.acmicpc.net 내 코드 import sys k = int(sys.stdin.readline()) arr = [] for i in range(k): num = int(input()) if num==0: n = arr.pop() else: arr.append(num) print(sum(arr)) 다들 비슷하게 푼듯!
https://www.acmicpc.net/problem/10828 10828번: 스택 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net 시도 1 - 정답 import sys n = int(sys.stdin.readline()) arr = [] for i in range(n): comm = sys.stdin.readline().strip() if "push" in comm: c,num = comm.split() num = int(num) arr.append(num) elif comm=="top": if len(ar..
https://www.acmicpc.net/problem/15652 15652번: N과 M (4) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net 내 풀이 from itertools import combinations_with_replacement as cr n,m = map(int,input().split()) lst = [i+1 for i in range(n)] result = list(cr(lst,m)) for item in result: print(*item) 바로 이전 게시물에서 공부한 중복 조합으로 풀어주었다. 중복 조합 관련 ..
https://www.acmicpc.net/problem/15651 15651번: N과 M (3) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net 시간 초과, 메모리 초과 번갈아 나서 결국 인터넷 보고 푼 문제 ㅠ 그래도 답이 나오긴 나왔어서 내 코드도 올려본다. 내 코드 - 시간 초과 or 메모리 초과 from itertools import combinations import sys n,m=map(int,sys.stdin.readline().split()) arr = [i+1 for i in range(n)]*m lst = sorted(..
https://www.acmicpc.net/problem/5622 5622번: 다이얼 첫째 줄에 알파벳 대문자로 이루어진 단어가 주어진다. 단어의 길이는 2보다 크거나 같고, 15보다 작거나 같다. www.acmicpc.net 나의 풀이 s = input() dic ={'A':2,'B':2,'C':2,'D':3,'E':3,'F':3,'G':4,'H':4,'I':4,'J':5,'K':5,'L':5,'M':6,'N':6,'O':6,'P':7,'Q':7,'R':7,'S':7,'T':8,'U':8,'V':8,'W':9,'X':9,'Y':9,'Z':9} sum = len(s) for i in range(len(s)): sum+=dic[s[i]] print(sum) 나는 그냥 딕셔너리에 다 저장해서 풀었다. 다른 ..
https://www.acmicpc.net/problem/2908 2908번: 상수 상근이의 동생 상수는 수학을 정말 못한다. 상수는 숫자를 읽는데 문제가 있다. 이렇게 수학을 못하는 상수를 위해서 상근이는 수의 크기를 비교하는 문제를 내주었다. 상근이는 세 자리 수 두 www.acmicpc.net 나의 풀이 n,m = input().split() rev_n ="" rev_m ="" for i in range(3): rev_n+=n[2-i] rev_m+=m[2-i] if int(rev_n)>int(rev_m): print(rev_n) else: print(rev_m) 그냥 두 숫자를 문자열로 받고 각각 rev_n과 rev_m에 거꾸로 저장해서 비교해서 출력했다. 다른분들은 max함수 쓴 사람도 많은듯!!
- Total
- Today
- Yesterday
- 단계별로풀어보기
- 백준
- 장고
- jQuery
- 정렬
- jsp
- web
- 문자열
- Case When
- 자바스크립트
- javascript
- bootstrap
- 큐
- append
- python
- 파이썬
- R
- html
- 프로그래머스
- 자바
- 고득점 키트
- 덱
- Django
- 스프링
- brute force
- 브루트 포스
- baekjoon
- Java
- Oracle
- CSS
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |