본문 바로가기
728x90

전체 글82

[자료구조/python]백준 10845번 큐 import sys n=int(sys.stdin.readline()) list=[] answer=[] for _ in range(n): list=sys.stdin.readline().split() if list[0]=='push': answer.append(list[1]) elif list[0]=='pop': if len(answer)==0: print(-1) else: print(answer.pop(0)) elif list[0]=='size': print(len(answer)) elif list[0]=='empty': if len(answer)==0: print(1) else: print(0) elif list[0]=='front': if len(answer)==0: print(-1) else: pri.. 2023. 5. 1.
[자료구조/python]백준 9012번 괄호 n=int(input()) for _ in range(n): arr=list(input()) check=0 for i in arr: if i=='(': check+=1 elif i==')': check-=1 if check0: print('NO') elif check==0: print('YES') 1. 이런문제 보면 하나하나 따져서 풀려는 생각부터 들어서 멘붕이다...... 2. 항상 수학적으로 떠올리기! 3. 괄호 (와 )가 나온 수를 더하고 빼면서 한 쌍인지 체크. (음수가 나온다면 )가 한번 더 나온 것이므로 이미 한 쌍이 아니다! 2023. 4. 30.
[자료구조/python]백준 9093번 단어 뒤집기 n=int(input()) arr=[] for _ in range(n): arr=list(input().split()) for i in arr: print(i[::-1],end=' ') #슬라이싱 이용, -1(음수값)은 역순출력 # print() #문장마다 줄바꿈 2023. 4. 30.
[자료구조/python]백준 10828번 스택 import sys n=int(sys.stdin.readline()) #시간초과때문에 sys import해서 입력받음 stack=[] command=[] for i in range(n): command=list(sys.stdin.readline().split()) if command[0]=='push': stack.append(command[1]) elif command[0]=='pop': if len(stack)==0: print(-1) else: print(stack.pop()) elif command[0]=='size': print(len(stack)) elif command[0]=='empty': if len(stack)==0: print(1) else: print(0) elif command[0.. 2023. 4. 30.
[그리디/python] 백준 11399번 ATM n=int(input()) p=list(map(int, input().split())) list=[] sum=0 result=0 p.sort() for i in p: sum+=i list.append(sum) for i in list: result+=i print(result) 이건 잘 풀었다! 걸리는 시간들을 오름차순으로 정렬시켜서 더하면 그게 최솟값임. -> sum값을 새로운 list에 담아서 list의 값을 다시 더함 2023. 4. 29.
[그리디/python] 백준 10610번 30 n=list(input()) n.sort(reverse=True) sum=0 for i in n: #n의 원소 하나씩 꺼내서 i에 대입. sum+=int(i) if (sum%3)!=0 or '0'not in n: print(-1) else: print(''.join(n)) ;;;;;;; 2023. 4. 28.
728x90