
문제 설명https://www.acmicpc.net/problem/2812N자리 숫자가 주어졌을 때, 여기서 숫자 K개를 지워서 얻을 수 있는 가장 큰 수를 구하는 프로그램을 작성하시오.입력첫째 줄에 N과 K가 주어진다. (1 ≤ K 둘째 줄에 N자리 숫자가 주어진다. 이 수는 0으로 시작하지 않는다.출력입력으로 주어진 숫자에서 K개를 지웠을 때 얻을 수 있는 가장 큰 수를 출력한다.예제 입력 14 21924예제 출력 194예제 입력 27 31231234예제 출력 23234예제 입력 310 44177252841예제 출력 3775841풀이 과정역시 골3.나름대로 논리 세워서 풀었는데 계속 시간 초과가 났습니다.제 방법에서는 시간을 더 줄일 수가 없었는데요.결국 아이디어 싸움입니다.N개 중에 K개를 삭제해야..

문제 설명https://www.acmicpc.net/problem/25044개의 기호 ‘(’, ‘)’, ‘[’, ‘]’를 이용해서 만들어지는 괄호열 중에서 올바른 괄호열이란 다음과 같이 정의된다.한 쌍의 괄호로만 이루어진 ‘()’와 ‘[]’는 올바른 괄호열이다.만일 X가 올바른 괄호열이면 ‘(X)’이나 ‘[X]’도 모두 올바른 괄호열이 된다.X와 Y 모두 올바른 괄호열이라면 이들을 결합한 XY도 올바른 괄호열이 된다.예를 들어 ‘(()[[]])’나 ‘(())[][]’ 는 올바른 괄호열이지만 ‘([)]’ 나 ‘(()()[]’ 은 모두 올바른 괄호열이 아니다. 우리는 어떤 올바른 괄호열 X에 대하여 그 괄호열의 값(괄호값)을 아래와 같이 정의하고 값(X)로 표시한다.‘()’ 인 괄호열의 값은 2이다.‘[]’..
오늘의 문제 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 내 풀이def solution(s): answer = False # 초기값 설정 stack = []# stack 리스트 생성 for i in range(len(s)): # 문자열 s의 길이만큼 반복 if not stack: # stack이 비어 있을 때 if s[i] == ")": # 인덱스 i가 ")"면 -> 짝을 이루는 "("가 앞에 없는데 ")"가 나온다는 뜻이니까 return answer # 올바르지 않은 괄호 else: # 인덱스 i가 "("..
오늘의 문제 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 내 풀이def solution(prices): answer = [] for i in range(len(prices)): # prices 개수만큼 반복 cnt = 0 # 카운트 초기화 for j in range(i + 1, len(prices)): # 현재 포커싱 하고 있는 값(인덱스 i)의 뒤에 있는 값부터 끝까지 반복 cnt += 1 # 카운트 증가 if prices[i] > prices[j]: # 인덱스 i 값(더 앞에 있는 값)이 인덱스 j(더 뒤에 있는 값)보다 ..
오늘의 문제https://www.acmicpc.net/problem/1406 내 풀이# 빠른 입력 (이거 쓰니까 시간초과 해결됨)import sysdef input(): return sys.stdin.readline().rstrip()S = input()M = int(input())# 커서의 왼쪽 문자열을 뜻하는 left_stackleft_stack = list(S) # 각 문자를 리스트의 요소로 저장# 커서의 오른쪽 문자열을 뜻하는 right_stackright_stack = []# M만큼 반복for _ in range(0, M): command = input().split() # P x 와 같은 형태를 처리하기 위해 if command[0] == "L" and left_stack: # L ..
오늘의 문제 4949번: 균형잡힌 세상 각 문자열은 마지막 글자를 제외하고 영문 알파벳, 공백, 소괄호("( )"), 대괄호("[ ]")로 이루어져 있으며, 온점(".")으로 끝나고, 길이는 100글자보다 작거나 같다. 입력의 종료조건으로 맨 마지막에 www.acmicpc.net 이 문제... https://tobeforest.tistory.com/13 이거랑 문제 내용만 다르지 로직은 똑같다. 날먹 하려고 일부러 한 건 아닌데, 요새 내가 푸는 챕터가 자료구조라서 그렇다. 자료구조 챕터 다 풀면 다음 챕터로 넘어갈 예정. (자료구조가 챕터 1이다.) 그래도 저거 푼 지 며칠 지났는데 친구랑 고민했던 게 인상 깊어서 그런가 로직이 바로 생각나서 바로 풀었다. 내 풀이 import Foundation va..
오늘의 문제 3986번: 좋은 단어 이번 계절학기에 심리학 개론을 수강 중인 평석이는 오늘 자정까지 보고서를 제출해야 한다. 보고서 작성이 너무 지루했던 평석이는 노트북에 엎드려서 꾸벅꾸벅 졸다가 제출 마감 1시간 전에 www.acmicpc.net 요약) 단어 위로 아치형 곡선을 그어 같은 글자끼리(A는 A끼리, B는 B끼리) 쌍을 짓기로 함. 선끼리 교차하지 않으면서 각 글자를 정확히 한 개의 다른 위치에 있는 같은 글자와 짝 지을수 있다면, 그 단어는 '좋은 단어'. 입력된 단어들 중에 '좋은 단어'가 몇 개 있는지 세서 출력하면 됨. 내 풀이 import Foundation /// 단어의 수 입력 let N = Int(readLine()!)! /// 좋은 단어의 개수 var result = 0 //..
오랜만에 백준 푸니까 다 까먹은 것 같아서 자료구조부터 다시 하는 중이다... 하.하 오늘의 문제 1874번: 스택 수열 1부터 n까지에 수에 대해 차례로 [push, push, push, push, pop, pop, push, push, pop, push, push, pop, pop, pop, pop, pop] 연산을 수행하면 수열 [4, 3, 6, 8, 7, 5, 2, 1]을 얻을 수 있다. www.acmicpc.net 문제 요약 - 1부터 n까지의 수를 스택에 push 할 때, pop 하는 순서대로 숫자가 출력되는데 입력으로 특정 수열이 들어왔을 경우 그 수열처럼 출력하기 위해서 스택에 숫자를 어떤 순서대로 push 하고 pop 해야 하는지 +, -로 나타내라. 단, push 할 때는 오름차순을 지..
- Total
- Today
- Yesterday
- 힙
- Baekjoon
- Programmers
- 백준
- 구현
- 코테준비
- SQL
- swea
- Deque
- 그리디
- 큐
- 다이나믹프로그래밍
- Swift로백준풀기
- D3
- Python
- 스택
- 프로그래머스
- 코딩테스트
- dfs
- 알고리즘
- BFS
- dp
- 완전탐색
- 이분탐색
- Swift
- D2
- 백트래킹
- MySQL
- 투포인터
- ios
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |