[python] 백준 제로(10773)
·
알고리즘/Java
알고리즘 python 백준 제로(10773) 1. 문제 https://www.acmicpc.net/problem/10773 2. 풀이 for문을 돌려 n이 0이 아닐 때 list에 숫자를 넣어주고, n이 0일 때 앞에 숫자를 pop해준다 그리고 list에 남은 숫자들의 합을 구해 print해준다. n = int(input()) list = [] for i in range(n): num = int(input()) if num == 0: list.pop() else: list.append(num) print(sum(list)) [느낀점] 스택문제로 어렵운 문제는 아니었지만 다른 문제들 같이 예시를 한꺼번에 입력하는 줄알고 헷갈렸던 부분이 있었다.
[python] 백준 균형잡힌 세상(4949)
·
알고리즘/Java
알고리즘 python 백준 균형잡힌 세상(4949) 1. 문제 https://www.acmicpc.net/problem/4949 2. 풀이 if문으로 '['나 '('가 나오늘 stack list에 추가한다 i가 ']'이나 ')'가 나올 때 stack의 길이가 0이 아니고, stack의 top이 '['나 '('가 나오면 stack에서 pop을 해준다 아니면 break 이렇게 스택의 길이가 0이면 'yes'를 출력, 0이 아니면 'no'를 출력 while True: a = input() stack = [] if a == ".": break for i in a: if i == "[" or i == "(": stack.append(i) elif i == "]": if len(stack) != 0 and stac..
[python] 백준 괄호(9012)
·
알고리즘/Java
알고리즘 python 백준 괄호(9012) 1. 문제 https://www.acmicpc.net/problem/9012 2. 풀이 for문을 돌려서 "("가 나올 때 stack list에 추가해준다 "("가 아닐 때는 stack에서 top을 pop해주는데 스택이 비어있을 때는 "NO"를 출력해준다 for문을 돌고 stack이 비었을 때는 "YES"를 출력, stack이 차있으면 괄호가 짝이 맞지 않은 것으로 "NO"를 출력한다 t = int(input()) # print(t) for i in range(t): stack = [] a = input() for j in a: if j == "(": stack.append(j) else: if stack: # stack이 차있을 때 stack.pop() els..
[python] 백준 스택(10828)
·
알고리즘/Java
알고리즘 python 백준 스택(10828) 1. 문제 https://www.acmicpc.net/problem/10828 2. 풀이 각각 push, pop, size, enpty, top의 조건에 맞는 함수를 만들어 for문을 돌려 값을 구했다. for문에서 command를 splitg하여 사용한 이유는 입력값 중 push는 'push 1'의 형태로 입력되기 때문이다. import sys input = sys.stdin.readline n = int(input()) stack = [] def push(x): stack.append(x) def pop(): if len(stack) == 0: print(-1) else: print(stack.pop()) def size(): print(len(stack)..
[python] 백준 스택 수열(1874)
·
알고리즘/Java
알고리즘 python 백준 스택 수열(1874) 1. 문제 https://www.acmicpc.net/problem/1874 2. 풀이 숫자를 넣어줄 stack과 정답이 들어갈 answer list를 만들어 준다 while문에 조건을 걸어 입력한 수를 만날 때 까지 오름차순으로 push를 한다 수에 맞게 stack을 쌓고 answer list에도 오른 숫자만큼 +를 추가해준다 입력한 수를 만나면 while문을 탈출하고 if문을 만나 입력한 수가 stack의 top과 같으면 스택의 top을 꺼내고 answer에 -를 추가해준다 stack의 top이 입력한 수와 다르면 스택을 만들 수 없기 때문에 NO를 프린트한다 최종적으로 flag가 0이면 answer를 for문을 돌려 하나씩 출력해준다 n = int(i..
[python] 프로그래머스 방금그곡(카카오 신입공채)
·
알고리즘/Java
알고리즘 python 프로그래머스 방금그곡(카카오 신입공채) 1. 문제 https://programmers.co.kr/learn/courses/30/lessons/17683?language=python3 2. 풀이 먼저 #이 붇은 멜로디들을 문자로 바꿔준다 musicinfos를 for문으로 돌리는데 음악 재생 시간을 분으로 고쳐주고, musicinfos리스트 안의 #이 붙은 문자들도 일반 문자로 바꿔준다 if문으로 음악길이보다 재생된 시간이 짧은 경우와, 긴경우로 나누어 재생시간에 맞춰 멜로디를 만들어준다 음악출력시간, 노래제목, 새로 추출한 멜로디를 넣어 새로운 리스트(li)를 만든다 음악 출력시간을 -1과 비교하여 조건에 일치하는 경우를 r리스트에 추가해줌 r 리스트의 개수가 0개면 (None)을 리..
유리코딩
'알고리즘/Java' 카테고리의 글 목록