본문 바로가기
728x90
반응형

실버45

[백준/Python] 2164 카드2 문제: https://www.acmicpc.net/problem/2164  사용 알고리즘: 덱  입력첫째 줄에 정수 N (1  N 장의 카드가 순서대로 쌓여있을 때, 카드가 한 장만 남을 때까지 아래의 동작을 반복1. 맨 위에 있는 카드 제거2. 제거되고 맨 위로 나온 카드를 맨 아래에 넣음 -> 앞뒤로 추가/제거가 가능하니 덱을 사용해 구현해야겠다  이 문제는 정말 문제대로만 구현하면 되는 간단한 문제였다.  대신 for 문을 N 회가 아닌 (N-1) 회 돌아야 한다. (덱에 카드가 1장 남았을 때 종료해야 하므로)d = deque(i for i in range(1,N+1)) # 덱에 1~N 번의 카드를 미리 넣음for i in range(1, N): d.popleft() # 맨 위 카드 제거 .. 2024. 8. 5.
[백준/Python] 9012 괄호 문제: https://www.acmicpc.net/problem/9012  사용 알고리즘: 스택  입력테스트케이스 개수 T밑으로는 T 개의 테스트케이스가 주어지며, 테스트케이스의 괄호 문자열의 길이는 2 이상 50 이하  괄호의 짝을 맞추는 문제 -> 스택 대표 문제라고 생각하면 됨  주어진 괄호 문자열을 돌면서  1. '(' 인 경우 스택에 추가2. ')' 인 경우빈 스택일 경우 짝이 안 맞으므로 answer 에 'NO' 를 기록빈 스택이 아닐 경우 스택의 맨 위의 요소 pop주어진 괄호 문자열을 다 돌고 나왔는데, 빈 스택이 아닌 경우는 짝이 안 맞는 경우이므로 answer 에 'NO' 를 기록for _ in range(n): s = deque() PS = input().rstrip() .. 2024. 7. 30.
[백준/Python] 10773 제로 문제: https://www.acmicpc.net/problem/10773  사용 알고리즘: 스택  생각보다 너무너무 쉬웠던 문제!같은 티어의 dp, dfs 문제들이 훨씬 어려웠던 느낌이다.  입력첫 번째 줄에 정수 K (1 이후 K 개의 정수가 주어짐 K 개의 정수가 주어졌을 때 0 이라는 정수가 나오면 바로 직전에 나왔던 정수를 지우면 된다. 그래서 마지막에 남아있는 수들을 모두 더해서 결과를 내면 되는 간단한 문제 0을 만났을 때 가장 최근의 수를 지우면 된다? -> 바로 스택을 떠올렸다스택은 LIFO(Last In First Out)으로 가장 마지막에 들어온 놈이 가장 먼저 나가는 자료구조 파이썬에서는 스택 자료구조를 따로 제공하지 않기 때문에 스택을 구현하기만 하면 아주 쉽게 풀 수 있는 문제다.. 2024. 7. 24.
[백준/Python] 10994 별 찍기- 19 문제: https://www.acmicpc.net/problem/10994  입력1  사용 알고리즘: 재귀  예제를 보고 규칙을 유추한 뒤 별을 찍는 문제네모 안에 네모 안에 네모.. -> 재귀를 이용해서 풀어야겠다  예제 입력11 예제 출력1* 예제 입력22 예제 출력2****** ** * ** ****** 예제 입력33 예제 출력3********** ** ***** ** * * ** * * * ** * * ** ***** ** ********** 예제 입력44 예제 출력4************** ** ********* ** * * ** * ***** * ** * * * * ** * * * * * ** * * * * ** * **.. 2024. 7. 17.
728x90
반응형